在 XPath 中选择两种不同条件下的节点



我正在XPath中处理查询,但不知何故我无法让它工作。当然,我的"车库"里有更多的汽车,但要解决这个问题,两个节点会这样做:

<garage>
<car>
     <data>
        <brand name="Mazda" model="MX5"></brand>
        <country>Japan</country>
        <ctype>Cabriolet</ctype>
        <motor fueltype="Super">
            <ps>146</ps>
            <kw>107</kw> 
            <umin>5000</umin>
        </motor>
        <price>22000</price>
     </data>
</car>

<car>
    <data>
        <brand name="Audi" model="RS6"></brand>
        <country>Germany</country>
        <ctype>Limousine</ctype>
        <motor fueltype="Super">
            <ps>580</ps>
            <kw>426</kw> 
            <umin>6250</umin>
        </motor>
        <price>108000</price>
     </data>
</car>
</garage>

我想数一数所有来自日本并至少获得 100 ps 的汽车(ps 在德语中表示马力)。在上面的示例中,结果应为 1,因为只有 mx5 同时满足这两个条件。我尝试了"和",我尝试了"相交",现在我出去了。有人可以帮我吗

!!!!!

你来了:

/garage/car[data/country = 'Japan' and data/motor/ps >= 100]

或:

/garage/car[data/country = 'Japan'][data/motor/ps >= 100]

或:

/garage/car[data[country = 'Japan'][motor/ps >= 100]]

以上都是等价的。要获得计数,请用 count(...) 包裹上述任何一项。

相关内容

  • 没有找到相关文章

最新更新