希望在xpath中使用通配符,其中属性是路径,我希望所有路径都以“text”结尾。
示例:<Property name="jcr:content/MainParsys/*/text"/>
jcr:content/MainParsys
不变。*
是我想要通配符的地方(中间的所有路径)。text
是我正在寻找的路径的最后一部分。此外,有些路径以/textIsRich
结尾,我想避免。
寻找: <Property name="jcr:content/MainParsys/*/text"/>
避免: <Property name="jcr:content/MainParsys/*/text *"/>
答案 0 :(得分:3)
这个XPath,
Promise
将选择所有//Property[@name[ starts-with(.,'jcr:content/MainParsys/')
and substring(., string-length(.) - string-length('/text') +1) = '/text']]
个元素,其Property
属性的值以name
开头,以'jcr:content/MainParsys/'
结尾(使用标准XPath 1.0 work-around for no ends-with()
function)。
XPath 2.0具有'/text'
以及matches()
等正则函数,可以匹配有效的通配符(ends-with()
),例如。