获取类型而不是节点的令牌(XML / XPath)

时间:2019-03-12 13:33:32

标签: javascript xml xpath

我有这个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甚至可能吗?我尝试过,但是没有找到任何解决方案。

1 个答案:

答案 0 :(得分:2)

可以使用以下表达式在严格的XPath 1.0中进行分组:

/database
    /event
        /location[
            not(. = ../preceding-sibling::event/location)
        ]

注意:这具有二次复杂度。在小型文档中,您不必担心。