Click here to Skip to main content
15,867,308 members
Articles / Web Development / ASP.NET

Build a Blog Page Consuming a XML Feed

Rate me:
Please Sign up or sign in to vote.
4.76/5 (9 votes)
2 Nov 2011CPOL 47.6K   596   48   1
How to build a blog page using an XML feed

Screenshot - buildrssblog2.gif

Introduction

In this article, I'll show a code snippet I made in order to create a small blog using the web feed provided by another blog engine.

The Code

Let's see the snippet that retrieves the data from the feed:

C#
protected void dataBind()
{
    //open RSS xml file

    XmlTextReader reader =
        new XmlTextReader("http://www.compranapoli.it/blog/rss.xml");

    DataSet ds = new DataSet();
    ds.ReadXml(reader); //put the rss in a dataset

    // Assigns the datset to the datagrid
    GridView1.DataSource = ds.Tables[2];

    // Binds the datagrid
    GridView1.DataBind();
}

The method dataBind() opens the file rss.xml using a XmlTextReader, puts the content in a DataSet and sets one of the tables of the dataset to the GridView I used to show the data.
This is the code I made to modify the look and feel of the GridView:

ASP.NET
<asp:GridView ID="GridView1" runat="server" 
        AutoGenerateColumns="false" BorderWidth="0"/>
 <Columns>
   <asp:TemplateField>
     <ItemTemplate>
      <h1><%# Eval("title") %></h1>
      <hr />
      <h4><%# Eval("pubDate")%></h4><br />
      <%# Eval("description")%><br /><br />
     </ItemTemplate>
   </asp:TemplateField>
 </Columns>
</asp:GridView>

The GridView doesn't handle the paging of the XML data source by default. So, I needed to add the following method to handle the paging:

C#
// Grid View Paging 

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    GridView1.DataBind();
}

This is the result I had calling dataBind() on page load and using an elegant CSS:

Screenshot - buildrssblog1.jpg

History

  • [2-OCT-2007]: First version of the XML parser classes released
  • [4-OCT-2007]: Added source files
  • [31-OCT-2011]: Main revision of the article, the code is the same as before

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Italy Italy
Check the my Blog

Comments and Discussions

 
GeneralMy vote of 5 Pin
manukharde2-Mar-12 9:15
manukharde2-Mar-12 9:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.