Выберите все элементы, которые заканчиваются данной строкой - PullRequest
0 голосов
/ 28 сентября 2018

Можно ли выбрать элементы дерева XML, которые заканчиваются данной строкой?Не элементы, которые содержат атрибут, заканчивающийся строкой, а сами элементы?

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Как уже упоминалось в моем комментарии, вы можете использовать функцию XPath-2.0 ends-with для решения этой проблемы.Его подпись

заканчивается-с
fn: заканчивается-с ($ arg1 как xs: строка ?, $ arg2 как xs: строка?) Как xs: логическое
fn: заканчивается-с ($ arg1 как xs: строка?,
$ arg2 как xs: строка?,
$ сопоставление как xs: строка) как xs: логическое

Сводка:
Возвращает xs: логическое значение, указывающее, заканчивается ли значение $ arg1 последовательностью единиц сортировки, которая обеспечивает минимальное совпадение с единицами сортировки $ arg2 в соответствии с используемой сортировкой.

Таким образом, вы можетеиспользуйте следующее выражение для

выбора элементов дерева XML, которые заканчиваются данной строкой

для всего документа

//*[ends-with(.,'given string')]

Комуреализовать это в Xpath-1.0, см. этот SO ответ .

0 голосов
/ 28 сентября 2018

Например, чтобы выбрать все элементы, оканчивающиеся на «es», вы можете найти все элементы, имя которых содержит подстроку «es», начиная с позиции, соответствующей длине имени минус 1:

//*[substring(name(),string-length(name())-1,2) = "es"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...