具有多个子节点条件的XPath

时间:2017-03-09 15:20:38

标签: xpath

我试图找到一个XPath表达式,以便在子节点上获得具有多个条件的元素。

我可以使用哪个XPath来获取 ART_NR = 146334和 FABRICATOR = 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 个答案:

答案 0 :(得分: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']]]