通过XPath比较值

时间:2015-12-11 09:14:10

标签: xml xpath

在下面的xml示例中,我需要比较最小库存高于其当前库存的数据产品。我该怎么做?我找不到任何文件。

<products>
<product>
    <cod_prod>1010</cod_prod>
    <name>MSI G41M-P26</name>
    <price>50</price>
    <current_stock>10</current_stock>
    <minimum_stock>3</minimum_stock>
    <cod_zone>10</cod_zone>
</product>
<product>
    <cod_prod>1011</cod_prod>
    <name>Micro Intel Core i5-2320</name>
    <price>120</price>
    <current_stock>3</current_stock>
    <minimum_stock>5</minimum_stock>
    <cod_zone>10</cod_zone>
</product>
<product>
    <cod_prod>1012</cod_prod>
    <name>Micro Intel Core i5 2500</name>
    <price>170</price>
    <current_stock>5</current_stock>
    <minimum_stock>6</minimum_stock>
    <cod_zone>20</cod_zone>
</product>

我尝试了这个,但不起作用:

  

/产品/产品[minimum_stock&GT; /产品/产品/ current_stock]

1 个答案:

答案 0 :(得分:1)

正确的XPath比您尝试过的更简单:

/products/product[minimum_stock > current_stock]

由于谓词([])中的上下文元素是当前product元素,因此您可以简单地说current_stock而不是/products/product/current_stock来引用current_stock元素当前product,就像你已经为minimum_stock所做的那样。