Expression du chemin XPath
Utilisé pour sélectionner des nœuds ou des ensembles de nœuds dans un document XML
1. Terminologie : Nœud : 7 types : éléments, attributs, texte, espaces de noms, commandes de traitement, commentaires, nœuds de document (racines)
2. Relations de nœud : Parent, Enfants, Frère ou sœur, Ancêtre, Descendant
3. Expression du chemin
nom du nœud Nom du nœud, sélectionnez tous les nœuds enfants de ce nœud Exemple : nœud enfant Le nœud enfant nœud dans le nœud courant n’inclut pas les nœuds des petits-enfants et les nœuds inférieurs
/ 从根节点选取 例:/root/childnode/grandsonnode
Représente tous les nœuds descendants, par exemple ://childnode. Tous les nœuds descendants nommés childnodes
. Représente le nœud courant Exemple : ./childnode représente le nœud enfant du nœud courant
.. Représenter le nœud parent Exemple : /nearnode représente le nœud enfant proche du nœud parent
@ Choisissez l’attribut /root/childnode/@id pour représenter tous les ensembles de nœuds avec des attributs id dans childnode
4. Prédicats
Les prédicats peuvent imposer certaines restrictions à l’ensemble de nœuds, rendant la sélection plus précise
/root/book[1] 节点集中的第一个节点
/root/book[last()] 节点集中最后一个节点
/root/book[position() - 1] 节点集中倒数第二个节点集
/root/book[position() < 5] 节点集中前五个节点集
/root/book[@id] 节点集中含有属性id的节点集
/root/book[@id='chinese'] 节点集中id属性值为chinese的节点集
/root/book[price > 35]/title 节点集中book的price元素值大于35的title节点集
5. Jokers : Les jokers (*,@*,node(), text()) sont également pris en charge dans le chemin XPath.
Exemple : /bookstore/*
titre[@*]
6. Axe XPath
Définissons un ensemble de nœuds par rapport au nœud courant
Ancêtre tous les nœuds ancêtres
Attribut tous les nœuds attributs
Tous les éléments enfants
descendant tous les nœuds descendants (fils, petits-enfants...). )
Suivant tous les nœuds après avoir terminé le marquage avant de commencer à taguer
Following-sister met fin à tous les nœuds frères après le tag
Précéder-frère et sœur tous les nœuds frères avant de commencer à taguer
Espace de noms : tous les nœuds de l’espace de noms actuel
parent parent
Nœud à courant autonome
Utilisation : Axe Nom : Test du nœud [Prédicat]
Par exemple : ancêtre ::livre
enfant ::text()
7. Opérateurs
| Fusion de deux ensembles de nœuds Exemple : /root/book[1] | /root/livre[3]
+,-,*,dev,mod
=,!=,<,>,<=,>=
ou, et ou et |