Я наткнулся на эту строку 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? И если да, то что именно представляют собой «? ()» И «.» делать?