Procédure : créer une arborescence à partir d'un XmlReader
Cette rubrique montre comment créer une arborescence XML directement à partir d'un objet XmlReader. Pour créer un objet XElement à partir d'un objet XmlReader, vous devez placer l'objet XmlReader sur un nœud d'élément. L'objet XmlReader ignorera les commentaires et les instructions de traitement, mais si l'objet XmlReader est placé sur un nœud de texte, une erreur sera renvoyée. Pour éviter de telles erreurs, placez toujours l'objet XmlReader sur un élément avant de créer une arborescence XML à partir de l'objet XmlReader.
Exemple
Cet exemple utilise le document XML suivant : Exemple de fichiers XML : Livres (LINQ to XML).
Le code suivant crée un objet T:System.Xml.XmlReader, puis il lit les nœuds jusqu'à trouver le premier nœud d'élément. Il charge ensuite l'objet 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)
Cet exemple génère la sortie suivante :
<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>