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.
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.
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> ...