2

我有一个示例 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 中选择它?

4

1 回答 1

1

我不确定 Android 在这里的行为是否符合预期。但是,请尝试这两个语句,看看它们是否返回了所需的结果。

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

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

获取作为文本节点的第一个节点:

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

(请注意,我无法在 Android 上测试这些,所以我不能确定它们会返回什么)。

于 2011-09-21T08:05:44.437 回答