【问题标题】:Exact meaning of this xpath这个 xpath 的确切含义
【发布时间】:2020-02-21 07:46:18
【问题描述】:

我遇到了这个 XPath 字符串...

courses[?(@.id==101)].students[?(@.id==111)]

我什至不确定它是否是有效的 XPath,因为“?”和 '。'被使用。而且它在许多在线 XPath 评估器中不起作用。

尽管在 XPath 3 中,有一个查找运算符 ('?') 和一些 JSON 扫描功能。参考:https://www.altova.com/training/xpath3/xpath-31#lookup-operator

所以,我想知道 '?()' 和 '.' 的确切用途是什么是。

到目前为止,我猜测这个表达式正在用于搜索 XML 中的 JSON 内容。

猜测JSON对象是这样的:

{
    "courses":[
        {
            'id':'101', 
            'name':'Course 101', 
            'students':[
                { 
                    'id':'111', 
                    'name':'Student 111' 
                }
            ]
        }   
    ]
}

简而言之,它是一个有效的 XPath 3 表达式吗?如果是,那么“?()”和“。”到底是什么?在做什么?

【问题讨论】:

  • 哎呀...才知道这是一个 JsonPath 表达式。它只是有误导性的变量和类名。
  • 您应该将问题重新表述为关于 json 以便有意义。

标签: xpath xpath-3.0 xpath-3.1


【解决方案1】:

JSON 只能使用双引号

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    • 2021-06-13
    • 1970-01-01
    • 2011-12-14
    相关资源
    最近更新 更多