Подтвердить что ты не робот

Xpath с использованием функции start-with

Я пишу Java на Android для извлечения данных из XML файла, но у меня есть проблема. Рассмотрим этот XML:

<ITEM>
   <REVENUE_YEAR>2554-02</REVENUE_YEAR>
   <REGION>Central</REGION>
</ITEM>
<ITEM>
  <REVENUE_YEAR>2552-02</REVENUE_YEAR>
  <REGION>Central</REGION>
</ITEM>
<ITEM>
  <REVENUE_YEAR>2552-03</REVENUE_YEAR>
  <REGION>Central</REGION>
</ITEM>

Как я могу получить все элементы за годы, начинающиеся с 2552. Я пробовал:

//REVENUE_YEAR[starts-with(.,'2552')]/text()

Это работает, но когда я попытался:

//REVENUE_YEAR[starts-with(.,'2552')]/REGION/text() 

он не работает.

4b9b3361

Ответ 1

Использование:

/*/ITEM[starts-with(REVENUE_YEAR,'2552')]/REGION

Примечание. Если ваш язык хоста не может обрабатывать экземпляр экземпляра в качестве результата, не используйте текстовые узлы специально в модели данных смешанного контента. Не запускайте выражения с помощью оператора //, когда схема хорошо известна.

Ответ 2

Использование:

//REVENUE_YEAR[starts-with(.,'2552')]/../REGION/text() 

Ответ 3

Попробуйте это

//ITEM/*[starts-with(text(),'2552')]/following-sibling::*