AtomFeed feed = AtomFeed.Load(new Uri("http://loluyede.blogspot.com/atom.xml");
-or-
StringBuilder buffer = new StringBuilder(13);
buffer.Append(<entry xml:lang="en-us">);
buffer.Append(<title>The title of the entry.</title>);
buffer.Append(<link rel="alternate" type="text/plain" href="http://www.w3.org/" title="The title of the link." />);
buffer.Append(<contributor>);
buffer.Append(<name>Uncle Bob</name><url>http://people.w3.org/</url><email>foo@bar.com</email>);
buffer.Append(</contributor>);
buffer.Append(<id>http://localhost/foo/id</id>);
buffer.Append(<modified>2004-02-12T17:43:22+01:00</modified>);
buffer.Append(<issued>2004-02-12T17:43:22+01:00</issued>);
buffer.Append(<created>2004-02-12T17:43:22+01:00</created>);
buffer.Append(<summary>The summary of the entry.</summary>);
buffer.Append(<content>The content of the entry.</content>);
buffer.Append(</entry>);
AtomEntry entry = AtomEntry.LoadXml(buffer.ToString());
top
AtomFeed feed = new AtomFeed();
feed.Title = new AtomContentConstruct("title", "The title of the feed.");
feed.Links.Add(new AtomLink(new Uri("http://www.w3.org"),
Relationship.Alternate, MediaType.TextPlain, "The title of the link."));
feed.Author = new AtomPersonConstruct("author",
"Uncle Tom", new Uri("http://people.w3.org"), "foo@bar.com");
feed.Contributors.Add(new AtomPersonConstruct("contributor",
"Uncle Bob", new Uri("http://people.w3.org"), "foo@bar.com"));
feed.Tagline = new AtomContentConstruct("tagline", "The tagline of the feed");
feed.Id = new Uri("http://localhost/foo/id");
feed.Copyright = new AtomContentConstruct("copyright", "Copyright © 2003 - 2005");
feed.Info = new AtomContentConstruct("info", "The info of the feed.");
feed.Modified = new AtomDateConstruct("modified", DateTime.Now,
TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now));
AtomEntry entry = new AtomEntry();
entry.Title = new AtomContentConstruct("title", "The title of the entry.");
entry.Links.Add(new AtomLink(new Uri("http://www.w3.org"), Relationship.Alternate,
MediaType.TextPlain, "The title of the link."));
entry.Contributors.Add(new AtAtomPersonConstruct("contributor",
"Uncle Bob", new Uri("http://people.w3.org"), "foo@bar.com"));
entry.Id = new Uri("http://localhost/foo/id1");
entry.Modified = new AtomDateConstruct("modified", DateTime.Now,
TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now));
entry.Issued = new AtomDateConstruct("issued", DateTime.Now,
TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now));
entry.Summary = new AtomContentConstruct("summary", "The summary of the entry.");
entry.Contents.Add(new AtomContent("The content of the entry."));
feed.Entries.Add(entry);
Response.ContentType = Atom.Utils.DefaultValues.AtomMediaType.ToString();
feed.Save(Response.OutputStream);
- or -
entry.Save("snippet.xml");
top
ASP.NET Example - VB.NET - (thanks to
Russell Lindell)
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
Dim myFeed As AtomFeed = AtomFeed.Load("http://rwlindell.com/blog/atom.xml")
getLatestEntry(myFeed)
dgEntries.DataSource = getLatestPostings(myFeed, 0, 5)
dgEntries.DataBind()
End If
End Sub
Sub getLatestEntry(ByRef myFeed As AtomFeed)
hypTitle.Text = myFeed.Entries.Item(0).Title.Content
hypTitle.NavigateUrl = myFeed.Entries.Item(0).Links.Item(1).HRef.ToString
lblDate.Text = String.Format(("{0:d}", myFeed.Entries.Item(0).Issued.DateTime)
lblContent.Text = myFeed.Entries.Item(0).Contents.Item(0).ToString
End Sub
Function getLatestPostings(ByRef myfeed As AtomFeed, Optional ByVal iStart As Integer = 0, Optional ByVal iEnd As Integer = 2)
Dim myDS As New DataSet
myDS.Tables.Add("tblEntries")
myDS.Tables("tblEntries").Columns.Add("title")
myDS.Tables("tblEntries").Columns.Add("url")
myDS.Tables("tblEntries").Columns.Add("date")
Dim i
Dim myRow As DataRow = myDS.Tables("tblEntries").NewRow()
For i = iStart To iEnd
Dim myValues(2) As String
myValues(0) = myfeed.Entries.Item(i).Title.Content
myValues(1) = myfeed.Entries.Item(i).Links.Item(1).HRef.ToString
myValues(2) = String.Format("{0:M/d}", myfeed.Entries.Item(i).Issued.DateTime)
myDS.Tables("tblEntries").Rows.Add(myValues)
Next
Return myDS.Tables("tblEntries")
End Function
<table width="100%" class="text1">
<tr>
<td align="left"><strong>Current Blog Post:</strong>
<asp:hyperlink id="hypTitle" runat="server"></asp:hyperlink></td>
<td align="right"><asp:label id="lblDate" runat="server"></asp:label></td>
</tr>
<tr>
<td colSpan="2"><asp:label id="lblContent" runat="server"></asp:label></td>
</tr>
</table>
top
Retrieve feed data behind a
proxy - VB.NET - (thanks to
Hilton Giesenow)
Dim oWebRequest As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(strUrL)
Dim oProxy As New System.Net.WebProxy(strProxy, 8080)
oProxy.Credentials = New System.Net.NetworkCredential(strUserName, strPassword, strDomain)
oWebRequest.Proxy = oProxy
Dim oResponseStream As New System.IO.StreamReader(oWebRequest.GetResponse.GetResponseStream, System.Text.Encoding.ASCII)
Dim myFeed As Atom.Core.AtomFeed = AtomFeed.Load(oResponseStream)
dg1.DataSource = myFeed.Entries
dg1.DataBind()
top