Using the XmlDataSource Control

XML is pretty much everywhere these days. It’s in our web services, in our AJAX calls, in our RSS feeds, and, for the standards-compliant, in every web page being created at the moment. But it’s important to remember that every XML document is still a flat file that contains a uniformly structured set of hierarchical data which can be accessed with an XmlDataSource as required. And if it’s not in a format you can use, the XmlDataSource lets you apply an XSLT transform to it before the data is retrieved.

Let’s take an example and use an O’Reilly Atom feed for O’Reilly’s new book releases (http://feeds.feedburner.com/oreilly/newbooks) as the source of data for a web page. Add to the chapter’s website a new page called XmlDataSource.aspx, and drag an XmlDataSource control onto it.

Tip

If you do not see the XmlDataSource control, choose View → Visual Aids → ASP.NET Non Visual Controls from the VS2008 menu, or press Ctrl-Shift-N.

Click Configure DataSource in the XmlDataSource’s Common Tasks panel and fill it in as shown in Figure 7-5.

Configuring the XmlDataSource control

Figure 7-5. Configuring the XmlDataSource control

When binding to an XmlDataSource, an ASP.NET control automatically looks for the attributes on an XML element rather than its child elements as you might assume. For example, the Atom feed this example consumes has the following outline:

<feed> <entry> <title> ... </title> <updated> ...

Get Programming ASP.NET 3.5, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.