Vorgehensweise: Suchen nach nebengeordneten Knoten (XPath-LINQ to XML) (C#)How to: Find Sibling Nodes (XPath-LINQ to XML) (C#)

Sie können nach allen nebengeordneten Knoten eines Knotens mit einem bestimmten Namen suchen.You might want to find all siblings of a node that have a specific name. Die resultierende Auflistung kann den Kontextknoten enthalten, sofern der Kontextknoten ebenfalls diesen Namen besitzt.The resulting collection might include the context node if the context node also has the specific name.

Der XPath-Ausdruck lautet:The XPath expression is:

../Book

BeispielExample

Dieses Beispiel sucht zuerst nach einem Book-Element und dann nach allen nebengeordneten Elementen mit dem Namen Book.This example first finds a Book element, and then finds all sibling elements named Book. Die resultierende Auflistung enthält den Kontextknoten.The resulting collection includes the context node.

In diesem Beispiel wird das folgende XML-Dokument verwendet: Beispiel-XML-Datei: Bücher (LINQ to XML).This example uses the following XML document: Sample XML File: Books (LINQ to XML).

XDocument books = XDocument.Load("Books.xml");  

XElement book =   
    books  
    .Root  
    .Elements("Book")  
    .Skip(1)  
    .First();  

// LINQ to XML query  
IEnumerable<XElement> list1 =  
    book  
    .Parent  
    .Elements("Book");  

// XPath expression  
IEnumerable<XElement> list2 = book.XPathSelectElements("../Book");  

if (list1.Count() == list2.Count() &&  
        list1.Intersect(list2).Count() == list1.Count())  
    Console.WriteLine("Results are identical");  
else  
    Console.WriteLine("Results differ");  
foreach (XElement el in list1)  
    Console.WriteLine(el);  

Dieses Beispiel erzeugt die folgende Ausgabe:This example produces the following output:

Results are identical  
<Book id="bk101">  
  <Author>Garghentini, Davide</Author>  
  <Title>XML Developer's Guide</Title>  
  <Genre>Computer</Genre>  
  <Price>44.95</Price>  
  <PublishDate>2000-10-01</PublishDate>  
  <Description>An in-depth look at creating applications   
      with XML.</Description>  
</Book>  
<Book id="bk102">  
  <Author>Garcia, Debra</Author>  
  <Title>Midnight Rain</Title>  
  <Genre>Fantasy</Genre>  
  <Price>5.95</Price>  
  <PublishDate>2000-12-16</PublishDate>  
  <Description>A former architect battles corporate zombies,   
      an evil sorceress, and her own childhood to become queen   
      of the world.</Description>  
</Book>  

Siehe auchSee Also

LINQ to XML für XPath-Benutzer (C#)LINQ to XML for XPath Users (C#)