javascript - 获取类型而不是节点的标记(XML/XPath)

标签 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

输出将是 token :

abc
abc
abc
def
def

这可以通过 XPath 实现吗?我尝试过,但没有找到任何解决方案。

最佳答案

可以使用以下表达式完成严格 XPath 1.0 中的分组:

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

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

关于javascript - 获取类型而不是节点的标记(XML/XPath),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55122749/

相关文章:

php - 如何使用 PHP 在 Web 服务器上保存 XML 文件?

javascript - int 数组 - Javascript

javascript - 选择中的 Angular 变化导致 $scope 变量出现奇怪的行为

javascript - 如何使用 javascript 将特殊的 UTF-8 字符转换为其等效的 iso-8859-1?

Javascript打印一个包含xml内容的字符串

java - 解码 base64 XML 会截掉最后一部分

xpath - XPath 1.0 中的总结

xpath - 使用美丽的汤从scrapy清理抓取掉的HTML

xml - 仅使用 XPath 选择第一个实例?

javascript - 测试 Angular 相等的算法