Freigeben über


Erstellen einer Struktur aus einem XmlReader (LINQ to XML)

In diesem Artikel wird gezeigt, wie Sie eine XML-Struktur direkt aus einer XmlReader in C# oder Visual Basic erstellen. Um aus einem XElement ein XmlReader zu erstellen, müssen Sie den XmlReader in einem Elementknoten positionieren. Der XmlReader überspringt Kommentare und Verarbeitungsanweisungen, aber wenn der XmlReader in einem Textknoten positioniert wird, wird eine Fehlermeldung ausgegeben. Diese Fehlermeldung können Sie vermeiden, indem Sie den XmlReader in einem Element platzieren, bevor Sie einer XML-Struktur aus der XmlReader erstellen.

Beispiel: Laden eines XElement-Objekts aus einem XmlReader-Objekt

In diesem Beispiel wird die XML-Dokumentbeispiel-XML-Datei: Bücherverwendet.

Der folgende Code erstellt ein XmlReader Objekt, liest Knoten, bis er den ersten Elementknoten findet, und lädt das XElement Objekt.

XmlReader r = XmlReader.Create("books.xml");
while (r.NodeType != XmlNodeType.Element)
    r.Read();
XElement e = XElement.Load(r);
Console.WriteLine(e);
Dim r As XmlReader = XmlReader.Create("books.xml")
Do While r.NodeType <> XmlNodeType.Element
    r.Read()
Loop
Dim e As XElement = XElement.Load(r)
Console.WriteLine(e)

Dieses Beispiel erzeugt die folgende Ausgabe:

<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 auch