Maison  >  Article  >  développement back-end  >  Xml SelectNodes dans XPath

Xml SelectNodes dans XPath

黄舟
黄舟original
2017-02-15 15:32:421701parcourir


XPath est le contenu de XML, où SelectNodes est une méthode de XmlDocument ou XmlNode en C#. SelectNodes utilise XPath pour sélectionner des nœuds.

Syntaxe importante :

SelectNodes("item")

Depuis le nœud enfant du nœud actuel (fils uniquement , Sélectionnez le nœud nommé élément (à l'exclusion des petits-enfants et arrière-petits-enfants).

SelectNodes("/item")

                                                                   sélectionner le nœud nommé élément de l'enfant nœuds du nœud racine.

SelectNodes ("// Item")

Sélectionnez des nœuds nommés Item à partir de n'importe quel emplacement. Pour mettre en évidence cette position arbitraire, elle n'est pas affectée par le nœud courant c'est-à-dire que si le nœud courant est sur le 100ème calque (un peu exagéré), vous pouvez également sélectionner le nœud nommé item sur le premier calque.

SelectNodes(".")

Sélectionnez le nœud actuel.

SelectNodes("..")

Sélectionnez le nœud parent du nœud actuel.

SelectNodes("//item[@name]")

Basé sur SelectNodes("//item"), une restriction est ajoutée, qui est l'exigence Possède un attribut de nom.

SelectNodes("//item[@name='111']")

Basé sur SelectNodes("//item[@name]") , un une restriction a été ajoutée, qui nécessite que la valeur de l'attribut name soit 111. Notez qu'il y a des guillemets dans la syntaxe ; s'il n'y en a pas, cela signifie qu'il s'agit d'un type numérique, vous pouvez utiliser le signe supérieur à, inférieur à, etc., par exemple : SelectNodes("/). /item[@v>333]").

SelectNodes("//item[1]")

Sélectionnez le premier élément. Notez qu'il s'agit du premier, pas du deuxième. Il s'agit également ici du premier élément entre frères, c'est-à-dire : si le parent a trois éléments, choisissez le premier ; si le deuxième élément du parent a deux fils portant le même nom que l'élément, alors le premier fils sera sélectionné ; si le troisième élément du parent a également deux fils du même nom, le premier fils sera également sélectionné...

SelectNodes("// item[last()-1]")

L'avant-dernier nœud fait également référence à l'avant-dernier nœud entre frères.

SelectNodes("//item[position()<=2]")

Les nœuds avec les première et deuxième positions (la position du premier nœud() est 1), qui fait également référence à la position entre frères.

SelectNodes("//@name")

SelectNodes("/root/item/@name") prend l'attribut name de l'élément

Sélectionnez l'attribut name. Notez que cette fois, vous sélectionnez l'attribut, pas le nœud. Utilisez la propriété Value pour obtenir la valeur de propriété de la collection de propriétés.

SelectNodes("/root/item")

Le nœud enfant de l'élément sous la racine du nœud racine.

SelectNodes("/root//item")

                                                                                                                                                                                                             . Sélectionnez-les tous.

Caractère générique :

Vous pouvez utiliser * pour représenter n'importe quel nom de nœud, tel que SelectNodes("/channel/*/item");

Utilisez @* pour représenter n'importe quel attribut

Utilisez node() pour représenter n'importe quel type de nœud ; 🎜> Utiliser text() représente un nœud de type texte, ce qui signifie en fait prendre un nœud de texte (sous le nœud d'élément se trouve le nœud de texte, et en dessous du nœud de texte se trouve le texte).

Opérateur :

                                                                                                                           . SelectNodes("//item|//channel"), sélectionnez un élément ou un nœud de canal.

Ce qui précède est le contenu de Xml SelectNodes et XPath. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn