如何在 XPath 中使用 starts-with()、contains() 和 ends-with() 来查找 xml


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

我想获取内部文本,从"道德"开始,在标题节点中包含"和"并以"同意"结尾。

一种可能的方法:

//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)
         ]

最新更新