Partilhar via


Como criar uma árvore de um XmlReader

Este tópico mostra como criar uma árvore de XML diretamente de XmlReader. Para criar um XElement de um XmlReader, você deverá posicionar o XmlReader em um nó de elemento. O XmlReader ignorará comentários e instruções de processamento, mas se o XmlReader estiver posicionado em um nó de texto, um erro será gerado. Para evitar esses erros, sempre posicione o XmlReader em um elemento antes de criar uma árvore de XML do XmlReader.

Exemplo

Este exemplo usa o seguinte documento XML: Arquivo XML de exemplo: livros (LINQ to XML).

O código a seguir cria um objeto T:System.Xml.XmlReader e depois lê os nós até encontrar o primeiro nó do elemento. Ele em seguida carrega o objeto 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)

Este exemplo gera a seguinte saída:

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

Consulte também

Conceitos

Analisando XML