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.