它应该返回所有第一次出现的具有相同名称的节点,即使子节点和属性不同。
例如
<Data>
<A>
<X randomattr="1"/>
<Y randomattr="1"/>
<Z/>
</A>
<B>
<X/>
<X randomattr="3"/>
<Z/>
</B>
</Data>
它应该返回 3 个节点,第一个是 X、Y 和 Z,因为下面的节点将有一个重复的名称。如果 X 元素之一没有 randomattr 或者另一个元素具有不同的值,请不要介意。
我不想要 name() 中的不同值,我想返回整个节点。就像是
/Data/*/*[distinct-values(name())]
我也知道我可以用双循环遍历所有节点,但我问自己是否有一个简单的单行或函数,或者像 distinct[1] 这样的特殊 Xpath 语法谢谢你!