xml - Xpath taking an element comparing others -
i have following xml , i'm not able create correct xpath expression:
<previsioni> <previsione data="30/1/2011"> <luogo> <nome>bologna</nome> <periodo t="mattino"> <temp>8</temp> <descrizione>giornata fredda bologna</descrizione> </periodo> <periodo t="sera"> <temp>4</temp> <descrizione>ancora piĆ¹ freddo in serata</descrizione> </periodo> </luogo> <luogo> <nome>firenze</nome> <periodo t="mattino"> <temp>10</temp> <descrizione>giornata fredda e nuvolosa per firenze.</descrizione> </periodo> <periodo t="sera"> <temp>1</temp> <descrizione>brusco abbassamento delle temperature in serata...</descrizione> </periodo> </luogo> </previsione> <previsione data="31/1/2011"> <luogo> <nome>bologna</nome> <periodo t="mattino"> <temp>13</temp> <descrizione>brusca impennata della temperatura</descrizione> </periodo> <periodo t="pomeriggio"> <temp>16</temp> <descrizione>va ancora meglio nel pomeriggio...</descrizione> </periodo> </luogo> <luogo> <nome>firenze</nome> <periodo t="mattino"> <temp>15</temp> <descrizione>pioggia e temperature in rialzo firenze</descrizione> </periodo> <periodo t="pomeriggio"> <temp>14</temp> <descrizione>non cambia molto nel pomeriggio, ma dovrebbe smettere di piovere</descrizione> </periodo> </luogo> </previsione> </previsioni>
i have return text of <descrizione>
when <temp>
of <luogo>
"bologna"
in <periodo t="mattino">
lower <temp>
of <luogo>
"firenze"
.
a copy-pastable one-liner:
//luogo[nome='bologna']/periodo[@t='mattino' , (temp < ../../luogo[nome='firenze']/periodo[@t='mattino']/temp)]/descrizione/text()
structured:
//luogo[nome='bologna'] /periodo [ @t='mattino' , (temp < ../../luogo[nome='firenze']/periodo[@t='mattino']/temp) ] /descrizione/text()
commented:
select <luogo> elements <nome> child has text 'bologna', //luogo[nome='bologna'] <periodo> children, /periodo have [ @t attribure equal 'mattino' @t='mattino' , <temp> child lower same <temp> in <luogo> "firenze" , (temp < ../../luogo[nome='firenze']/periodo[@t='mattino']/temp) ] <descrizione> child's text /descrizione/text()
Comments
Post a Comment