# ? zu XQuery



## networker (10. Sep 2014)

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:


```
<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: 

```
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 (10. Sep 2014)

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

Variante 1:

```
//Field[@Name='step-order' and ../Field[@Name='stepname']/Value/text()='WertA']/Value/text()
```

Variante 2:

```
/Entities/Entity/Fields/Field[@Name='step-order' and ../Field[@Name='stepname']/Value/text()='WertA']/Value/text()
```


----------



## networker (10. Sep 2014)

@mtheiss: vielen vielen Dank


----------

