这是数据:
<p>
<span class="z">XXX</span><br/>
123456<br/>
78910</p>
到处都有空格和换行符。
我只需要'<br/>123456<br/>78910
'跳过span元素。
当我运行这个xpath时:'// p / text()'我得到3个匹配:第一个 - 一堆空格和换行符,第二个用123456,第三个用78910。
有没有其他方法可以跳过span元素?有可能以某种方式加入比赛吗?
答案 0 :(得分:1)
看起来您正试图在span
元素之后选择每个节点:
/p/span/following-sibling::node()
如果您希望没有空格的文本节点子节点只有文本节点:
/p/text()[normalize-space()]
答案 1 :(得分:1)
使用强>:
/p/node()[not(self::span) and (not(self::text[not(normalize-space())]))]
这将选择顶部元素p
的子节点的所有节点,如果它们是文本节点,则它们不仅仅是空白元素。