我有以下 XML:
<pets>
<dog name="Rupert" color="grey"/>
<dog name="Ralph" color="brown"/>
<cat name="Marvin the Cat" color="white"/>
<cat name="Garfield the Cat" color="orange"/>
<cat name="Cat" color="grey"/>
<cat name="Fluffy" color="black"/>
</pets>
我有以下 XPath 查询:
//cat[@*[translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')] = 'marvin the cat']
但它没有返回任何结果。我正在尝试将 @*
的值转换为小写。
我正在寻找的是“匹配整个单词”但不区分大小写的结果。如何更改此查询以获得我想要的结果?
注意:我本来想使用 XPath 2.0 matches
函数,但我刚刚发现我仅限于 XPath 1.0。因此我需要一个解决方法!
最佳答案
您提前结束了谓词。试试这个:
//cat[@*[translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'marvin the cat']]
关于xml - XPath 查询 : why no results?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10422189/