Я пытаюсь сопоставить идентификаторы, сохраненные как элемент list , используя XQuery.
Например,
<data> <item> <name>foo</name> <intValues>1 2 3 4 5</intValues> </item> <item> <name>bar</name> <intValues>6 7 8 9 10</intValues> </item> </data>
можно ли вернуть предметы, включающие 3 в intValues?
intValues
можно ли вернуть предметы, которые включить 3 в intValues?
Это выражение XPath выбирает ровно все item элементов, которые имеют «3» в качестве одного из списка значений, содержащихся в их intValues child :
item
/*/item['3' = tokenize(intValues, ' ')]
Если в вашем XML-файле есть схема, и вы используете процессор с поддержкой схемы, тогда запрос просто
/data/item[intValues = 3]
в противном случае, как предполагает Димитр, вам придется токенизировать это вручную.