1
Angenommen, ich habe eine XML:Groovy finden Knoten gpath mit certian Kind mit zählen und Ausdruck
<?xml version="1.0" encoding="UTF-8"?>
<data>
<level0 id="1" t="0">
<level1 id="lev1id01" att1="2015-05-12" val="12" status="0"/>
<level1 id="lev1id02" att1="2015-06-13" val="13" status="0"/>
<level1 id="lev1id03" att1="2015-07-10" val="13" status="0"/>
</level0>
<level0 id="2" t="0">
<level1 id="lev1id11" att1="2015-05-12" val="121" status="0"/>
<level1 id="lev1id12" att1="2015-06-13" val="132" status="0"/>
<level1 id="lev1id13" att1="2015-07-11" val="113" status="0"/>
</level0>
<level0 id="2" t="1">
<level1 id="lev1id21" att1="2015-05-12" val="121" status="0"/>
<level1 id="lev1id22" att1="2015-06-13" val="132" status="0"/>
<level1 id="lev1id23" att1="2015-07-11" val="113" status="0"/>
<level1 id="lev1id23" att1="2015-07-11" val="113" status="0"/>
</level0>
</data>
Ich möchte alle level0
Knoten erhalten (mit GPath), die sind:
- Wenn
level0/@t="0"
dann wählen Sie diesen Knoten (level0) nur wenn alle seinelevel1
c hildren hat@status="0"
- Wenn
level0/@t!="0"
dann diesen Knoten auswählen (level0) nur, wenn das letztelevel1
Kind@status="0"
hat. Wenn ich zuletzt sage, meine ich denlevel1
Knoten mit maximalem Wert in@att1
(angenommen@att1
enthält Datum inyyyy-mm-dd
Format).
Mit XPath würde ich Funktionen wie Max() und count(), aber ich kann nicht, wie es GPath mit getan werden könnte.
Dank