首页 > 解决方案 > 当前元素文本中双大写文本的 XPath 不是子元素

问题描述

这可能看起来很简单,但实际上很复杂。

我的 XML 如下:

<authors>
<au>
<fnm>XXY</fnm> MArio</au>
<au>
<fnm>Xxy</fnm> MArio</au>
<au>
<fnm>XXy</fnm> Mario</au>
</authors>

我的条件是

  1. 需要找到<au>带有双大写的标签,但不需要在fnm标签中

根据上面的 XML 文件,au应该找到前两个作者标签,​​但不是第三个au

我已经尝试过 XPath 代码

//au[text()][matches(.,'[A-Z][A-Z]')] 

但它不起作用。

标签: xmlxsltxpathxslt-2.0xpath-2.0

解决方案


我想你想要//au[text()[matches(., '[A-Z]{2}')]]


推荐阅读