Как использовать начальный-с (), содержит () и заканчивается-в () в XPath, чтобы найти внутренний текст XML-узла? в XPATH 1.0

xslt xpath xpath-1.0

58723 просмотра

1 ответ

<ArticleBackmatter>
   <Heading>Ethical standards and patient consent</Heading>
   <Heading>Ethical standards and patient</Heading>
   <Heading>standards and patient consent</Heading>
</ArticleBackmatter>

Я хочу получить внутренний текст, начинающийся с «Этические», содержащий «и» и заканчивающийся «согласием» в заголовочном узле.

Автор: Karuppa Samy Источник Размещён: 30.10.2019 06:29

Ответы (1)


26 плюса

Решение

Один из возможных способов:

//Heading[starts-with(., 'Ethical') and ends-with(., 'consent')]

ends-with()Функция XPath 2.0. В XPath 1.0 его можно заменить с помощью substring()и string-length(). Вот эквивалент XPath 1.0 (для удобства чтения):

//Heading[
            starts-with(., 'Ethical') 
                and 
            'consent' = substring(., string-length(.) - string-length('consent') +1)
         ]
Автор: har07 Размещён: 06.10.2014 01:19
Вопросы из категории :
32x32