Xpath подсчитывает количество элементов с разными идентификаторами id и возвращает родительский идентификатор

У меня есть следующий xml

<pizzeria> <menu> <pizza codice="p1" nome="Marinara" prezzo="3"> <pizza codice="p2" nome="Margherita" prezzo="4"> <pizza codice="p3" nome="Prosciutto" prezzo="5"> <pizza codice="p4" nome="Prosciutto e funghi" prezzo="5.5"> <pizza codice="p5" nome="Crudaiola" prezzo="7"> <pizza codice="p6" nome="Tartufo" prezzo="8"> </pizza></pizza></pizza></pizza></pizza></pizza></menu> <tavoli> <tavolo id="t01"> <pizza codice="p5" qta="2"> <pizza codice="p1" qta="1"> <pizza codice="p2" qta="3"> </pizza></pizza></pizza></tavolo> <tavolo id="t02"> <pizza codice="p3" qta="1"> <pizza codice="p4" qta="2"> </pizza></pizza></tavolo> <tavolo id="t03"> <pizza codice="p3" qta="3"> <pizza codice="p2" qta="4"> <pizza codice="p4" qta="2"> </pizza></pizza></pizza></tavolo> <tavolo id="t04"> <pizza codice="p2" qta="2"> <pizza codice="p5" qta="1"> </pizza></pizza></tavolo> </tavoli>
</pizzeria>

теперь мне нужно найти элементы "tavolo" с по крайней мере тремя элементами "пицца" и вернуть их id (из tavolo). Кто-нибудь может сказать мне, как это сделать? Спасибо за помощь.

1 ответ

Вы ищете этот запрос:

/pizzeria/tavoli/tavolo[count(pizza) >= 3]/@id

licensed under cc by-sa 3.0 with attribution.