我有这个XML数据库:
<database>
<event>
<location> abc </location>
</event>
<event>
<location> abc </location>
</event>
<event>
<location> abc </location>
</event>
<event>
<location> def </location>
</event>
<event>
<location> def </location>
</event>
<database>
我试图通过XPath获得此输出:
abc
def
位置节点的类型。
如果我使用
//location
输出将是令牌:
abc
abc
abc
def
def
使用XPath甚至可能吗?我尝试过,但是没有找到任何解决方案。
答案 0 :(得分:2)
可以使用以下表达式在严格的XPath 1.0中进行分组:
/database
/event
/location[
not(. = ../preceding-sibling::event/location)
]
注意:这具有二次复杂度。在小型文档中,您不必担心。