Condividi tramite


Procedura: creare un albero da un oggetto XmlReader

In questo argomento viene illustrato come creare un albero XML direttamente da un oggetto XmlReader. Per creare XElement da XmlReader, è necessario posizionare XmlReader in un nodo di elemento. XmlReader ignorerà i commenti e le istruzioni di elaborazione, ma se XmlReader è posizionato in un nodo di testo, verrà generato un errore. Per evitare tali errori, posizionare XmlReader in un elemento prima di creare l'albero XML da XmlReader.

Esempio

Nell'esempio viene usato il seguente documento XML: File XML di esempio: Books (LINQ to XML)

Nel codice seguente viene creato un oggetto T:System.Xml.XmlReader, quindi vengono letti i nodi fino a individuare il primo nodo di elemento. Viene quindi caricato l'oggetto XElement.

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)

Questo esempio produce il seguente 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>

Vedere anche

Concetti

Analisi di XML