Точное значение этого xpath - PullRequest
       33

Точное значение этого xpath

0 голосов
/ 21 февраля 2020

Я наткнулся на эту строку XPath ...

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

Я даже не уверен, что это правильный XPath из-за того, как '?' а также '.' используются. И это не работает во многих онлайн-оценщиках XPath.

Хотя в XPath 3 есть оператор поиска ('?') И некоторые JSON функции сканирования. См .: https://www.altova.com/training/xpath3/xpath-31#lookup -оператор

Итак, мне интересно, для чего конкретно предназначены «? ()» И «.» are.

Пока что я предполагаю, что это выражение используется для поиска в JSON контенте в XML.

Предположение, что объект JSON выглядит следующим образом:

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

Короче говоря, это правильное выражение XPath 3? И если да, то что именно представляют собой «? ()» И «.» делать?

1 Ответ

0 голосов
/ 01 марта 2020

JSON может работать только с двойными кавычками

...