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>