Vorgehensweise: Erstellen einer Struktur aus XmlReader (C#)How to: Create a Tree from an XmlReader (C#)

In diesem Thema wird erläutert, wie Sie direkt aus einem XmlReader eine XML-Struktur erstellen können.This topic shows how to create an XML tree directly from an XmlReader. Um aus einem XElement ein XmlReader zu erstellen, müssen Sie den XmlReader in einem Elementknoten positionieren.To create an XElement from an XmlReader, you must position the XmlReader on an element node. Der XmlReader überspringt Kommentare und Verarbeitungsanweisungen, aber wenn der XmlReader in einem Textknoten positioniert wird, wird eine Fehlermeldung ausgegeben.The XmlReader will skip comments and processing instructions, but if the XmlReader is positioned on a text node, an error will be thrown. Diese Fehlermeldung können Sie vermeiden, indem Sie den XmlReader immer in einem Element platzieren, bevor Sie ihn als Grundlage für das Erstellen einer XML-Struktur verwenden aus der XmlReader.To avoid such errors, always position the XmlReader on an element before you create an XML tree from the XmlReader.

BeispielExample

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

Der folgende Code erstellt ein T:System.Xml.XmlReader-Objekt und liest dann so lange Knoten, bis er den ersten Elementknoten findet.The following code creates an T:System.Xml.XmlReader object, and then reads nodes until it finds the first element node. Daraufhin lädt er das XElement-Objekt.It then loads the XElement object.

XmlReader r = XmlReader.Create("books.xml");  
while (r.NodeType != XmlNodeType.Element)  
    r.Read();  
XElement e = XElement.Load(r);  
Console.WriteLine(e);  

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

<Catalog>  
   <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>  
</Catalog>  

Siehe auchSee Also

Analysieren von XML (C#)Parsing XML (C#)