我有以下XML:
<MyFruits>
<Apple>A</Apple>
<Apple>19</Apple>
<Mango>12</Mango>
<Apple>19</Apple>
<Orange>A</Orange>
<Orange>A</Orange>
<Orange>A</Orange>
<Apple>B</Apple>
<Apple>19</Apple>
<Mango>12</Mango>
<Apple>19</Apple>
<Orange>10</Orange>
<Apple>19</Apple>
<Orange>10</Orange>
<Apple>C</Apple>
<Apple>19</Apple>
<Mango>12</Mango>
<Apple>19</Apple>
<Orange>10</Orange>
<Apple>19</Apple>
<Orange>10</Orange>
</MyFruits>
我希望其中只有独特的水果(Apple,Mango和Orange)
有人建议使用XPath 1.0检索XPath吗?
由于
答案 0 :(得分:3)
我不认为这可以在单个XPath 1.0表达式中完成,因为它需要两个嵌套的谓词级别,内部级别取决于外部谓词的值,即
/MyFruits/*[not(preceding-sibling::*[name() = name(node-from-outer-predicate)])]
这在XPath 1.0中是不可能的。
在XPath 2.0中这将是微不足道的
distinct-values(/MyFruits/*/name())