Xpath запрос нескольких узлов с пользовательскими строками - PullRequest
1 голос
/ 01 октября 2019

У меня есть рабочий запрос xpath с несколькими узлами, и я хочу добавить несколько пользовательских строк между результатами.

<FooBar>
    <Foo>
        <Fooid>A</Fooid>
        <Booid>222</Booid>
        <Wooid>Z</Wooid>
    </Foo>
    <Foo>
        <Fooid>B</Fooid>
        <Booid>333</Booid>
        <Wooid>Y</Wooid>
    </Foo>
    <Foo>
        <Fooid>C</Fooid>
        <Booid>444</Booid>
        <Wooid>X</Wooid>
    </Foo>
</FooBar>

Я сталкивался с различными комбинациями соединений строк и / или конкататов, но результатвсегда ошибался или заканчивался синтаксической ошибкой. Моя версия xpath - Xpath 2.0

//Foo/Fooid | //Foo/Booid | Foo/Wooid

Приведенный выше xpath приводит к:

A

222

Z

Мой предпочтительный результат будет:

(A)

{222}

[Z]

как правильно использовать строку- присоединиться, чтобы получить скобки вокруг трех идентификаторов?

Ответы [ 2 ]

1 голос
/ 02 октября 2019

после некоторого исследования и с вашими комментариями я смог найти желаемое решение с помощью этой строки:

//Foo/concat('(', Fooid, ')'),  //Foo/concat('{', Booid, '}'),Foo/concat('[', Wooid, ']')

'|'был заменен запятой.

0 голосов
/ 02 октября 2019

, чтобы объединить эти символы, вместо этого используйте их html-сущность.

concat('&lpar;', //Fooid, '&rpar;')

для скобок используйте

&lpar;
&rpar;

для скобок

&lbrack;
&rbrack;

для скобок

&lbrace;
&rbrace;

См. Полные наборы символов здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...