使用Xpath获取Attribute值

时间:2016-05-11 14:02:15

标签: xpath xquery marklogic

我在下面提到过相同的XML。

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>

我在Xpath查询中使用了不同的条件来获取@XML值条件( @name =“Antony”和@ value =“IN”和@name =“startpage”和@ value =“174”< / strong>)所以期望输出是(2000_4_174.xml)

我试过这个查询请告诉我如何添加另外两个条件。

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

1 个答案:

答案 0 :(得分:3)

XPath就是:

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

XPath应该返回包含以下子元素的XML元素的<PP>属性:

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