XPath定位两个标签之间的文本
P粉462328904
P粉462328904 2023-09-13 20:02:12
0
1
467

我需要一种方法来选择两个标签之间的文本(第一个标签和随后的
标签):

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

如何使用xpath表达式仅选择“defg”?

我尝试使用following-sibling来找到第一个标签后面的第一个
标签,但是我找不到选择它们之间的文本的方法。

P粉462328904
P粉462328904

全部回复(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中也适用。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!