我想提取位于
a
元素的结束标记之前的文本节点。例如,使用此示例 XML:
<root>
<a/>
<a>1</a>
<a>2<b/>3</a>
<a>4<b/></a>
<a><b/>5<c/></a>
</root>
预期结果将是序列
( 1, 3 )
表达式
//a/text()[last()]
还不够,因为它返回( 1, 3, 4, 5 )
,问题是我不知道如何添加约束:“就在a
的结束标记之前”。
试试这个
//a/text()[not(following-sibling::node())]
它直接选择结束
</a>
标签之前的文本节点。
对于您的示例,它返回
1, 3
。