1.Le positionnement relatif et le positionnement absolu
// représente le positionnement relatif doit être utilisé pour les pages ou les nœuds qui changent fréquemment. La recherche
/ signifie un positionnement absolu Lorsque reste inchangé, vous pouvez utiliser le positionnement absolu pour effectuer une recherche.
Nœud supérieur : librairie
Nœud actuel : ". ”
S'il y a plusieurs nœuds actuels, faites correspondre plusieurs
Si le nœud actuel a seulement 1, puis faites correspondre 1
Sélectionnez le nœud actuel Le parent nœud : " ..”
Pour p sous html/body, son nœud parent est body, qui est utilisé absolument Le path signifie que vous devez trouver le corps à partir du code HTML, puis trouver p, puis faire correspondre le nœud parent de p.
Si vous utilisez un chemin relatif pour trouver le nœud parent, vous pouvez voir que sa position absolue n'est pas prise en compte à partir de p, c'est-à-dire que tous les éléments à partir de body qui remplissent les conditions du nœud parent seront trouvés.
Trouver tous les éléments sous le nœud actuel : //book[1]/..
C'est la méthode d'indexation du nœud nœud parent
//book : Rechercher tous les tags nommés book
Un autre Baidu
1.L'élément dont l'attribut de positionnement est category
//book[@category='cooking'] '[] ' signifie l'attribut de recherche
2.Utiliser l'attribut de texte pour un positionnement précis, le texte peut également être utilisé à la place de
<.>Trouver l'élément dont le texte est 30.00 sous //livre//prix
Recherchez l'élément text dans la balise année qui est supérieur à 2004
3. Utilisez containpour une position floue, contains signifie incluant
Positionnement flou pour trouver les éléments dont les informations textuelles contiennent Potter : //title[contains(text(),"Potter")]
Expansion Pratique
4. « * »signifie n'importe lequel. Attributs Tous les attributs
Rechercher tous les attributs avec des valeurs d'attribut : //@*
Rechercher tous les éléments avec l'attribut dans la balise :
Utiliser
Ne pasnier , signifie trouver des éléments sans attributs dans les balises titre, il n'y a personne ici donc je je ne l'ai pas trouvé
@*signifie tous les attributs
pas(@*) signifie aucun attribut
5.
Trouver des éléments avec l'attribut
category//@category
5.
Opérateurs logiques//book[@category="web" et @cover="paperback"]
2. Localiser les éléments via l'opérateur ou// book[@. category="children" ou @cover="paperback"]
3.Localisez l'élément en niant l'opérateur
not//book[not(position()>2)] Obtenir
//book[not(position( )>2)] pas de négation
//year[not(.=2005) ]
représente le nœud de l'année qui n'est pas letexte de 2005 noeud
Trouver élément par “>=”“opérateur élément de positionnement Localiser les éléments via «!»opérateur Trouver le premier élément de : Trouver le premier livre avec tag 🎜> 2. ième 3position
//prix>=30 Que ce soit il y a un avec un prix supérieur ou égal à 30. existe et renvoie Booléen vrai n'existe pas Renvoie Booléen : faux6.Localiser les éléments par nœud index
1.
3.
Obtenez plusieurs éléments via
position//bookstore/book[position()>=2]
4. () La fonction trouve le dernier élément
//book[last()]
5.Passer last ()
trouve l'avant-dernier élément//book[last()-1]
7 .
Positionnement de l'axe
:
// book [1]/title/parent::*
Trouver les éléments enfants du book[1]
:// book[ 1]/child::*
//book/child::priceTrouver tous les éléments enfant sous l'étiquette book avec l'étiquette price
frère-suivant
Application
//librairie/livre[1]/enfant::titre/frère-suivant::*following-sibling représente tous les éléments du nœud frère dans l'ordre suivant du nœud actuel
titre
/bookstore/book[1]/child::title/following-sibling::author
following-sibling::authorSpécifiez pour rechercher tous les nœuds frères et sœurs après
title L'élément nommé author
preceding-sibling::* représente tous les éléments du nœud frère précédent du nœud actuel
//bookstore /book[1]/child::price/preceding-sibling::*
signifie trouver tous les éléments frères et sœursdevant le
nœud de prixTrouver des nœuds ancêtres, y compris soi : //book[1]/ancestor-or-self::*
Trouver des nœuds descendants incluant soi : //book[1]/descendant-or-self::*
Trouver tous les éléments du nœud actuel : //book[1]/preceding::* Trouver tous les éléments sous le nœud actuel
//book[2]//preceding::* placera les nœuds book[2] et book[2] avant Retrouvez tous les éléments de
Résumé de l'axe :
parent::* représente l'élément de nœud parent du nœud actuel
ancestor::* représente l'élément de nœud ancêtre du nœud actuel
child:: * représente le nœud actuel Les éléments enfants du nœud /A/descendant::* représentent tous les éléments descendants de A
self::* représentent les éléments self du nœud actuel
ancetor-or-self::* représentent le nœud actuel et ses nœuds ancêtres. Éléments
descendant-or-self::* représentent le nœud actuel et leurs éléments descendants
following-sibling ::* représentent tous les éléments du nœud frère dans l'ordre suivant du nœud actuel.
preceding-sibling::* représente tous les éléments du nœud frère devant le nœud actuel
following::* représente tous les éléments dans l'ordre suivant du nœud actuel
preceding::* représente tous les éléments du nœud actuel nœud actuel
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!