如何选择紧邻a元素闭合标签的文本节点(仅存在该节点时)
解决方案
要提取紧邻<a>元素闭合标签的文本节点,核心是筛选出在<a>内部之后没有任何兄弟节点的文本节点——只有这类文本才是紧挨着</a>的。
你可以使用这个XPath表达式:
//a/text()[not(following-sibling::node())]
针对示例XML的验证:
给定的XML结构:
<root> <a/> <a>1</a> <a>2<b/>3</a> <a>4<b/></a> <a><b/>5<c/></a> </root>
<a>1</a>里的文本1:后面无任何兄弟节点,符合条件<a>2<b/>3</a>里的文本3:后面无兄弟节点,符合条件<a>4<b/></a>里的文本4:后面存在<b/>节点,不符合<a><b/>5<c/></a>里的文本5:后面存在<c/>节点,不符合
最终返回结果为(1, 3),与预期完全一致。
内容的提问来源于stack exchange,提问作者Fravadona
相关产品推荐
相关产品推荐

