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);
}
}
}