xPath follow-sibling :: nameOfTheNode не дает никаких результатов - PullRequest
0 голосов
/ 28 декабря 2018

В чем проблема с использованием моего следующего брата:

//*[@key='KEY']/following-sibling::textContent

Если я использую следующий xPath, все работает отлично:

//*[@key='KEY']/following-sibling::*

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

Если я заменю * на правильное имя узла "textContent" (одно из имен узла, которое вернет *), я не получу ни одного результата.

Поскольку меня интересует только этот узел textContent, я бы хотел получить только этот.TextContent -node - это второй брат всех братьев и сестер.

Вот фрагмент кода xml, над которым я работаю:

<text>
    <reportElement key="KEY" />
    <font isBold="true"/>
    <textContent><![CDATA[My data]]></textContent>
</text>

Ответы [ 2 ]

0 голосов
/ 29 декабря 2018

Я предполагаю, что ваш XML-документ имеет объявление пространства имен по умолчанию xmlns="something.com" в той части, которую вы нам не показали.Пространства имен имеют все значение.

0 голосов
/ 28 декабря 2018

Ну, я сам нашел одно решение, но я действительно сомневаюсь, что это было бы оптимальным решением, поскольку мне это кажется ненужным комплексом:

//*[@key='KEY']/following-sibling::*[name() ='textContent']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...