我有一个带有“hello”节点的 XML 文件,其中包含“word”节点:
<doc>
<hello>
<word>Hello</word><word>World</word><word>!</word>
</hello>
<hello>
<word>Hello</word><word>!</word><word>World</word>
</hello>
<hello>
<word>Hello</word><word>World</word><word>!</word><word>blorf</word>
</hello>
<hello>
<word>Hello</word><word>Wo</word><word>rld!</word>
</hello>
</doc>
我想匹配唯一的第一个hello
。第二个顺序错了,第三个多了一个单词。第四个有正确的文本,但不正确地划分单词。
此查询在 XPath 1.0 中有效,但非常冗长。有没有更简单的方法?
//hello[count(word) = 3 and word[1] = "Hello" and word[2] = "World" and word[3] = "!"]
这适用于 XPath 2.0。有什么方法可以在 XPath 1.0 中进行等效操作吗?
//hello[deep-equal(data(subsequence(word,1)),('Hello','World','!'))]