如何选择结束标记之前的文本节点,但前提是有一个

问题描述 投票:0回答:1

我想提取位于

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
的结束标记之前”。

xpath
1个回答
0
投票

试试这个

//a/text()[not(following-sibling::node())]

它直接选择结束

</a>
标签之前的文本节点。

对于您的示例,它返回

1, 3

© www.soinside.com 2019 - 2024. All rights reserved.