C# Comment extraire xml complet de l'ensemble de nœuds
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Est leur toute manière à l'aide de XPath pour sélectionner la première de l'ensemble de nœuds, par exemple à partir de
<book category="COOKING">
to
</book>,
de sorte que, ce morceau de xml peuvent être stockés pour une utilisation ultérieure.
Bob.
Vous devez vous connecter pour publier un commentaire.
Disons que ce XML est stocké dans un
XmlDocument
appelédoc
.J'ai testé et ajoute cette ligne à vérifier:
Ici, c'est la sortie:
Cette requête, sélectionnez le nœud. Êtes-vous essayer d'obtenir un ensemble de nœuds ou juste un seul? Vous pourriez avoir à mettre la librairie nœud de vous-même si vous ne voulez ème sous-ensemble de nœuds.
XmlDocument ...
comme XDocument ...
si vous voulez juste le livre nœud, vous pouvez le faire à la place de la racine de la version ci-dessus
var ns = x.SelectSingleNode([...])
, vous devriez être en mesure d'accéder à des nœuds à l'intérieur de ce nœud avecns.ChildNodes
.supposons que je veux extraire uniquement les données wherethe fichier xml est comme suit ..
le résultat final sur l'affichage de la liste devrait ressembler à ceci
J'ai codé comme suit ..
XmlDocument xDoc = new XmlDocument(); // (Put code to populate xDoc here) XmlNodeList xNode = xDoc.SelectNodes(@"/bookstore/book[@category='COOKING']/title");
L'ajout de Matthieu réponse:
xNode est maintenant égale Livre du type de CUISSON.
XmlNodeList
plutôt qu'unXmlNode
.