O'Reilly logo

Programming ASP.NET 3.5, 4th Edition by Jesse Liberty, Dan Hurwitz, Dan Maharry

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required