? zu XQuery

networker

Neues Mitglied
Hallo zusammen,

aktuell bleibe ich an einer XQuery-Abfrage hängen und komme nicht weiter.
Ich würde mich freuen wenn mir jemand einen Tipp geben könnte.

Hier meine XML Struktur:

Code:
<Entities TotalResults="2">
   <Entity Type="step">
      <Fields>
         <Field Name="stepname">
            <Value>WertA</Value>
         </Field>
         <Field Name="step-order">
            <Value>1</Value>
         </Field>
         <Field Name="step-id">
            <Value/>
         </Field>
         <Field Name="status">
            <Value>Run</Value>
         </Field>
      </Fields>
   </Entity>
   <Entity Type="step">
      <Fields>
         <Field Name="stepname">
            <Value>WertB</Value>
         </Field>
         <Field Name="step-order">
            <Value>2</Value>
         </Field>
         <Field Name="step-id">
            <Value/>
         </Field>
         <Field Name="status">
            <Value>No Run</Value>
         </Field>
      </Fields>
   </Entity>
</Entities>

Ziel ist es über das Tag mit dem Namen "stepname", die "step-order" auszugeben.
D.h. stepname=WertB ist gegeben und der Wert 2 soll ausgegeben werden.

Bisher habe ich immer folgenden Code verwenden:
Code:
for $x in //Fields/Field
where $prod[Value = "WertB"]
return $prod/Value

Bisher habe ich es nicht geschafft den Code so zu erweitern, dass ich an den Wert aus dem Tag "step-order" komme.

Vielen Dank schon mal!

Gruß networker
 

mtheiss

Mitglied
Mit XPath kann man alles in einer Anfrage unterbringen, wenn man möchte.

Variante 1:
Code:
//Field[@Name='step-order' and ../Field[@Name='stepname']/Value/text()='WertA']/Value/text()

Variante 2:
Code:
/Entities/Entity/Fields/Field[@Name='step-order' and ../Field[@Name='stepname']/Value/text()='WertA']/Value/text()
xpath.PNG
 

Ähnliche Java Themen


Oben