XPath localise le texte entre deux balises
P粉462328904
P粉462328904 2023-09-13 20:02:12
0
1
484

J'ai besoin d'un moyen de sélectionner du texte entre deux balises (la première balise et la balise
suivante) :

<div>
<span>abc</span>
defg
<br>
hijkl
<br>
mnop
<span>qrs</span>
tuvw
<br>
xyz
</div>

Comment sélectionner uniquement « defg » à l'aide de l'expression XPath ?

J'ai essayé d'utiliser following-sibling pour trouver la première balise après la première balise
, mais je ne trouve pas de moyen de sélectionner le texte entre elles.

P粉462328904
P粉462328904

répondre à tous(1)
P粉553428780

Utilisez cette entrée XML,

<div>
<span>abc</span>
defg
<br/>
hijkl
<br/>
mnop
<span>qrs</span>
tuvw
<br/>
xyz
</div>

Expression XPath/div/span[1]/following-sibling::text()返回第一个元素后面的5个兄弟文本节点:defghijklmnoptuvwxyz, chaque nœud commence et se termine par un caractère de nouvelle ligne.

Un argument d'une

expression XPath 1.0 normalize-space(/div/span[1]/following-sibling::text())将返回defg,没有前导或尾随空白,作为normalize-space() qui est convertie en chaîne en renvoyant la valeur de chaîne du nœud dans l'ensemble de nœuds qui est premier dans ordre des documents.

Dans XPath 2.0 et supérieur, sélectionne le premier élément de la séquence, par exemple :
normalize-space((/div/span[1]/following-sibling::text())[1]), cela fonctionne également dans XPath 1.0.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal