XPath lokalisiert Text zwischen zwei Tags
P粉462328904
P粉462328904 2023-09-13 20:02:12
0
1
482

Ich brauche eine Möglichkeit, Text zwischen zwei Tags auszuwählen (dem ersten -Tag und dem nachfolgenden
-Tag):

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

Wie wähle ich mithilfe des XPath-Ausdrucks nur „defg“ aus?

Ich habe versucht, mit following-sibling das erste -Tag nach dem ersten
-Tag zu finden, aber ich finde keine Möglichkeit, den Text dazwischen auszuwählen.

P粉462328904
P粉462328904

Antworte allen(1)
P粉553428780

使用这个XML输入,

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

XPath表达式/div/span[1]/following-sibling::text()返回第一个元素后面的5个兄弟文本节点:defghijklmnoptuvwxyz,每个节点都以换行符开头和结尾。

XPath 1.0表达式normalize-space(/div/span[1]/following-sibling::text())将返回defg,没有前导或尾随空白,作为normalize-space()的参数,通过返回节点集中的节点的字符串值将其转换为字符串,该节点在文档顺序中是第一个

在XPath 2.0及更高版本中,选择序列中的第一个项目,例如:
normalize-space((/div/span[1]/following-sibling::text())[1]),这在XPath 1.0中也适用。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage