Select Element by attribute value and order by element value in CSharp

Description

The following code shows how to select Element by attribute value and order by element value.

Example


using System;//w  ww.ja v a  2 s.  co m
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Linq;
public class MainClass {
    public static void Main() {
        XDocument xDocument = new XDocument(
          new XElement("Books",
            new XElement("Book",
              new XAttribute("type", "Author"),
              new XElement("FirstName", "A"),
              new XElement("LastName", "B")),
           new XElement("Book",
             new XAttribute("type", "Author"),
             new XElement("FirstName", "C"),
             new XElement("LastName", "D"))));

        IEnumerable<XElement> elements =
              from e in xDocument.Descendants("Book")
              where ((string)e.Attribute("type")) != "Author"
              orderby ((string)e.Element("LastName"))
              select e;

        foreach (XElement element in elements) {
            Console.WriteLine("Element: {0} : value = {1}",element.Name, element.Value);
        }
    }
}




















Home »
  C# Tutorial »
    XML »




Load Parse
Document
Element
Attribute
Namespace
Query
Save
Schema
Style