Выражение Xpath в Android для узла с двумя дочерними текстовыми узлами - PullRequest
2 голосов
/ 20 сентября 2011

У меня есть образец 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 без нежелательного текста?

1 Ответ

1 голос
/ 21 сентября 2011

Я не уверен, что Android ведет себя так, как ожидалось.Однако попробуйте эти два оператора, чтобы увидеть, возвращают ли они желаемые результаты.

Получите первый узел, который не является элементом:

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

Получите первый узел, который является текстовым узлом:

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

(обратите внимание, что я не смог протестировать их на Android, поэтому не могу точно сказать, что они вернут).

...