关闭标记后的XPath数据

时间:2016-08-04 23:13:59

标签: php html xml xpath

我有这个HTML: <span id="bla">text</span>more text

我想获得textmore text

我有这个XPath: //span[@id="bla"]/text()

我无法弄清楚如何获得结束标记及其后的内容。

2 个答案:

答案 0 :(得分:2)

more text被称为&#34;尾巴&#34;一个元素,可以通过following-sibling检索:

//span[@id="bla"]/following-sibling::text()

答案 1 :(得分:1)

<span id="bla">text</span>more text格式不正确,无法通过XPath进行处理。

让我们把它放在上下文中:

<div><span id="bla">text</span>more text</div>

然后,您可以简单地获取父元素的字符串值div

string(/div)

获取

textmore text

按要求。

如果还有想要的其他周边内容:

<div>DO NOT WANT<span id="bla">text</span>more text<b/>DO NOT WANT</div>

您可以使用following-sibling::轴关注@ alecxe的主角,并使用concat()组合您想要的部分:

concat(//span[@id="bla"], //span[@id="bla"]/following-sibling::text()[1])

再次获得

textmore text

按要求。