XPath: извлечь значение атрибута плюс внутренний текст дочернего элемента - PullRequest
0 голосов
/ 27 марта 2020

Можно ли использовать выражение XPath для извлечения как значения атрибута, так и значения внутреннего текста дочернего элемента? Например, я хочу получить значение 6 и шесть значений 100, 200, 300, 400, 500, 600 из следующих XML:

<Main>
    <Example dim="6">
        <Example-i>100,200,300,400,500,600</Example-i>
    </Example>
</Main>

Я могу видеть, как получить значение атрибут dim= (например, //Example/@dim) и внутренний текст элемента <Example-i> (например, //Example-i/text()), но я не могу найти унифицированное выражение XPath для извлечения обоих.

1 Ответ

0 голосов
/ 27 марта 2020

Вы можете использовать функцию fn:concat(...) следующим образом

concat(/Main/Example/@dim,' - ',/Main/Example/Example-i)

Или, в более обобщенном виде

concat(//Example/@dim,' - ',//Example/Example-i)

Ее выход в обоих случаях равен

6 - 100,200,300,400,500,600
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...