Csharp/C Sharp/XML LINQ/AddBeforeSelf

Материал из .Net Framework эксперт
Версия от 11:33, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Adding a Node in the Specified Node"s Child Nodes with AddBeforeSelf

 
using System;
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"))));
        xDocument.Element("Books").Add(
          new XElement("Book",
            new XAttribute("type", "Author"),
            new XElement("FirstName", "E"),
            new XElement("LastName", "B")));
        xDocument.Element("Books").
          Elements("Book").
          Where(e => ((string)e.Element("FirstName")) == "E").
          Single<XElement>().AddBeforeSelf(
            new XElement("Book",
              new XAttribute("type", "Reviewer"),
              new XElement("FirstName", "F"),
              new XElement("LastName", "F")));
        Console.WriteLine(xDocument);
    }
}