我有一个示例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 WANTED TEXT
但是我如何在Android的XPath中选择这个而不需要的文本?
我不确定Android在这里的表现是否如预期的那样。但是,请尝试以下两个语句,看看它们是否返回所需的结果。
获取第一个不是元素的节点:
//div[@id='myid']//p/node()[not(self::*)]
获取第一个文本节点:
//div[@id='myid']//p/node()[self::text()]
(请注意,我还没有能够在Android上测试这些,所以我不能确定他们将返回什么)。