2017-03-09 60 views
1

我試圖找到一個XPath表達式,以在子節點上獲取具有多個條件的元素。具有多個子節點條件的XPath

其中的XPath我可以使用與ART_NR = 146334和製造者 = SPALDING拿到球元素?

相應的XML:

<xml> 
    <ball sellCode="ABC7001" type="basket ball"> 
     <detail> 
      <type>INFO</type> 
      <values> 
       <type>NUMERIC</type> 
       <value>146334</value> 
       <id>ART_NR</id> 
      </values> 
      <values> 
       <type>NUMERIC</type> 
       <value>39.99</value> 
       <id>PRICE</id> 
      </values> 
      <values> 
       <type>STRING</type> 
       <value>SPALDING</value> 
       <id>FABRICATOR</id> 
      </values> 
      <values> 
      </detail> 
      <detail> 
      <type>MOD</type> 
      ... 
      </detail> 
    </ball> 
    <ball sellCode="ABC34564" type="golf ball"> 
    ... 
</xml> 

回答

1

以下兩個XPath表達式應該工作:

/xml/ball[detail[values[id='ART_NR'][value=146334]] 
       [values[id='FABRICATOR'][value='SPALDING']]] 

/xml/ball[detail[values[id='ART_NR' and value=146334] 
      and values[id='FABRICATOR' and value='SPALDING']]] 
相關問題