LINQ to XML

The LINQ to XML provider loads an XML document into memory and transforms it into a queryable set of objects (such as XElement and XAttribute) which fully describe the document and can be navigated through in an XPath or XQuery fashion.

Example 10-8 demonstrates a very simple XML document showing which books have been written by which authors. You should create and add this to the C10_LINQ website. The authors’ details are contained in the AdventureWorksLT database which you’ll access in the section on LINQ to SQL, and the book details are in the in-memory objects created earlier in this chapter.

Example 10-8. Authors.xml

<?xml version="1.0" encoding="utf-8" ?>
<authorlist>
   <author id="1">
      <book isbn="0596529562" />
      <book isbn="059652756X" />
   </author>
   <author id="10">
      <book isbn="059652756X" />
      <book isbn="0596527438" />
   </author>
   <author id="38">
      <book isbn="0596518439" />
   </author>
   <author id="201">
      <book isbn="0596518439" />
      <book isbn="0596527438" />
   </author>
</authorlist>

First, you’ll create a page that displays just the author IDs. Add to the C10_LINQ website a new page called SimpleXmlQuery.aspx, and then add a Label control called lblAuthors to the page. Replace the code-behind page with the code in Example 10-9.

Example 10-9. SimpleXmlQuery.aspx

using System;
using System.Linq;
using System.Web.UI;
using System.Xml.Linq;

public partial class SimpleXmlQuery : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
 XElement doc = XElement.Load(Request.ApplicationPath ...

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

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.