2012-04-01 6 views
1

XMLにタグを抽出したいのですが、属性条件はname="var"です。Xqueryで*条件を使用したい

<ab> 
    <c name="var"> 
     <d name ="var"> 
      <e> 
      </e> 
     </d> 
     <f> 
     </f> 
    </c> 
</ab> 

のXQuery:

doc('abc.xml')//ab/*[@name="var"] 

私は、タグの値が、すべてのものを持っていないCLANGによって生成されたXMLを持っているしかし、私はので、私は、XQuery次使用することができ、この属性条件を持っている要素がわかりません属性としてのみ存在します。

+0

質問がありますか? – Marcin

答えて

0

abc.xmlにあるすべての要素は、<ab>という要素の子であり、指定された属性を持っています。

あなたは「含むXMLでエキスタグ」したいと文書は、私はあなたが実際に

doc('abc.xml')/ab//*[@name="var"] 

とリターンのように書かれることになる最上位の要素<ab>、内のすべての要素を照会したいと思い提供されるように要素<c><d>の両方ともそれぞれの子ノードを持ちます。

<c name="var"> 
    <d name="var"> 
    <e/> 
    </d> 
    <f/> 
</c> 

<d name="var"> 
    <e/> 
</d> 
0

これは

doc('abc.xml')//*[@name="var"] 

DUPでなければならないように思える動作するはずですが、あなたのXQueryプロセッサに依存し、特に効率的ではないかもしれません。

関連する問題