Android中具有两个子文本节点的节点的Xpath表达式



我有一个示例XML (Android平台),我想知道获取文本节点的节点值的最简单和最有效的方法。

<div id="myid">
   <img src="..." width="1" height="2" alt="Text" />
   <p><strong>Unwanted text</strong>WANTED TEXT</p>
</div>

我可以很容易地得到XPath 2.0:

//div[@id='myid']//p/text() => WANTED TEXT

但是在Android中我得到…

//div[@id='myid']//p/text() => Unwanted text&nbsp;WANTED TEXT

但是我如何在Android的XPath中选择这个而不需要的文本?

我不确定Android在这里的表现是否如预期的那样。但是,请尝试以下两个语句,看看它们是否返回所需的结果。

获取第一个不是元素的节点:

//div[@id='myid']//p/node()[not(self::*)]

获取第一个文本节点:

//div[@id='myid']//p/node()[self::text()]

(请注意,我还没有能够在Android上测试这些,所以我不能确定他们将返回什么)。

相关内容

  • 没有找到相关文章

最新更新