2016-10-07 5 views
0
<NETCAST> 
    <ACTION NParam="7" ShortName="shot" Quarter="1" Position="27"> 
     <PARAM Data="2" Name="Team"/> 
     <PARAM Data="2" Name="Player"/> 
     <PARAM Data="0" Name="Made"/> 
     <PARAM Data="2" Name="Points"/> 
     <PARAM Data="1" Name="AddFlags"/> 
    </ACTION> 
    <ACTION NParam="2" ShortName="assist" Quarter="1" Position="28"> 
     <PARAM Data="2" Name="Team"/> 
     <PARAM Data="21" Name="Player"/> 
    </ACTION> 
    <ACTION NParam="7" ShortName="shot" Quarter="1" Position="29"> 
     <PARAM Data="1" Name="Team"/> 
     <PARAM Data="21" Name="Player"/> 
     <PARAM Data="0" Name="Made"/> 
     <PARAM Data="3" Name="Points"/> 
     <PARAM Data="0" Name="AddFlags"/> 
    </ACTION> 
    <ACTION NParam="7" ShortName="shot" Quarter="1" Position="30"> 
     <PARAM Data="2" Name="Team"/> 
     <PARAM Data="32" Name="Player"/> 
     <PARAM Data="0" Name="Made"/> 
     <PARAM Data="3" Name="Points"/> 
     <PARAM Data="4" Name="AddFlags"/> 
    </ACTION> 
    <ACTION NParam="3" ShortName="reb" Quarter="1" Position="31"> 
     <PARAM Data="1" Name="Team"/> 
     <PARAM Data="-2" Name="Player"/> 
     <PARAM Data="1" Name="Type"/> 
    </ACTION> 
    <ACTION NParam="7" ShortName="shot" Quarter="1" Position="32"> 
     <PARAM Data="1" Name="Team"/> 
     <PARAM Data="15" Name="Player"/> 
     <PARAM Data="1" Name="Made"/> 
     <PARAM Data="2" Name="Points"/> 
     <PARAM Data="3" Name="AddFlags"/> 
    </ACTION> 
</NETCAST> 

Ich brauche Hilfe bei der XPath-Abfrage, umXPath wählen Kind-Knoten basierend auf multy geordneten Knoten Attribute

ACTION/PARAM [@ Name = "Punkte"]/Daten (in der Reihenfolge todo SUM) zu wählen

Wo

ACTION [nParam = "7"] UND

ACTION/PARAM [@ Name = "Team"] [Data = "1"] UND

ACTION/PARAM [@ Name = "Made"] [Daten = "0"] UND

ACTION/PARAM [@ Name = "AddFlags"] [Daten = "1" oder "3" oder "4"]

Ich weiß, wie man wählt, aber nur mit einem Kind !!!

/NETCAST/ACTION[NParam=7]/PARAM[@Name="Points"]/@Data 

Vielen Dank im Voraus für Ihre Hilfe.

Antwort

1

Es ist nicht klar, was genau die erwartete Ausgabe ist. Angenommen, Sie ACTION finden wollen, die auf mehreren PARAM ‚s Attribute mehrere Kriterien entsprechen, können Sie unter XPath Beispiel folgen:

/NETCAST 
/ACTION[ 
    @NParam=7 and 
    PARAM[@Name="Team" and @Data="1"] and 
    PARAM[@Name="Made" and @Data="0"] and 
    PARAM[@Name="AddFlags"][@Data="0" or @Data="3" or @Data="4"] 
] 

xpath demo

die XML in dieser Frage gegeben als Eingabe, die Ausgabe wäre:

<ACTION NParam="7" ShortName="shot" Quarter="1" Position="29"> 
    <PARAM Data="1" Name="Team"/> 
    <PARAM Data="21" Name="Player"/> 
    <PARAM Data="0" Name="Made"/> 
    <PARAM Data="3" Name="Points"/> 
    <PARAM Data="0" Name="AddFlags"/> 
</ACTION> 
+0

Der Xpath, den Sie vorschlagen, ist OK für die Abfrage, aber die Ergebnisse tha t Ich brauche ist nicht der gesamte ACTION-Knoten. Ich brauche nur das für das obige Ergebnis. Mit Ihrer Antwort +/PARAM [@ Name = "Punkte"] habe ich es verstanden. Danke für Ihre genaue und schnelle Antwort. –

Verwandte Themen