2016-05-11 6 views
3

Ich habe die gleiche XML in unten erwähnt.Xpath mit get den Attributwert

XML: 1

<PP XML="2000_4_174.xml"> 
     <P name="Antony" value="IN"/> 
     <P name="sitting" value="17 AUGUST 2000"/> 
     <P name="type" value="reported"/> 
     <P name="startpage" value="174"/> 
     </PP> 

XML: 2

<PP XML="2000_4_17411.xml"> 
    <P name="Antony" value="IN"/> 
    <P name="sitting" value="17 AUGUST 2000"/> 
    <P name="type" value="reported"/> 
    <P name="startpage" value="1"/> 
    </PP> 

Ich habe mit verschiedenen Zustand der in XPath-Abfrage für @XML Wertbedingung bekommen (@name = "Antony" und @value = "IN" und @name = "Startseite" und @ value = "174") so erwarten ausgegeben (2000_4_174.xml)

Ich habe diese Abfrage versucht, bitte schlagen Sie mir vor, wie Sie die beiden anderen Bedingungen hinzufügen.

let $uri := //PP/P[@name="Antony" and @value="IN"] 
for $i in $uri 
let $j := xdmp:node-uri($i) 
let $s :=doc($j)/PP/@XML 
return $s 
+0

ich nicht, wo Sie‘ wieder stecken bleiben. Ist die Ausgabe falsch, erhalten Sie eine Fehlermeldung? –

Antwort

3

XPath für das wäre:

//PP[P[@name="Antony" and @value="IN"] 
     and 
    P[@name="startpage" and @value="174"] 
    ]/@XML 

Das XPath XML Attribut <PP> Element zurückgeben soll, die die folgenden untergeordneten Elemente enthält:

<P name="Antony" value="IN"/> 
<P name="startpage" value="174"/> 
+0

Danke @ har07 es funktioniert gut. – Antony