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 books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.