我有一个像这样的XML文档:
<wii>
<game>
<type genre="arcade" />
<type genre="sport" />
</game>
<game>
<type genre="platform" />
<type genre="arcade" />
</game>
</wii>
Run Code Online (Sandbox Code Playgroud)
如何仅使用XPath列出所有类型而不重复?
谢谢.
/wii/game/type/@genre[not(. = preceding::type/@genre)]
在简单的英语中,这将选择文档前一部分中@genre没有同等值@genre节点的任何属性节点.
等于=运算符,当给定普通值和节点集时,它将普通值与节点集中的每个节点进行比较,true仅在所有节点匹配时返回(注意,!=如果不这样做,则将其与第一个节点进行比较)这套只是!).必须否定结果not().