xPath following-sibling :: nameOfTheNode不产生任何结果

时间:2018-12-28 16:26:28

标签: xml xpath

我的继兄弟姐妹用法有什么问题?

//*[@key='KEY']/following-sibling::textContent

如果我使用以下xPath,则一切正常:

//*[@key='KEY']/following-sibling::*

我的意思是,这将返回我正在寻找的完全正确节点的每个同级。

如果将*替换为正确的节点名称“ textContent”(*将返回一个节点名称),那么我将不会获得任何结果。

由于我只对这个textContent-node感兴趣,所以我只想得到一个。 textContent -node是所有同级中的第二个同级。

这是我正在使用的xml代码段:

<text>
    <reportElement key="KEY" />
    <font isBold="true"/>
    <textContent><![CDATA[My data]]></textContent>
</text>

2 个答案:

答案 0 :(得分:0)

好吧,我一个人想出了一个解决方案,但是我真的怀疑这是否是最佳解决方案,因为这对我而言似乎不必要:

//*[@key='KEY']/following-sibling::*[name() ='textContent']

答案 1 :(得分:0)

我的猜测是,您的XML文档在您未向我们展示的部分中具有默认的名称空间声明xmlns="something.com"。命名空间使一切变得不同。