0

我有带有<price><newprice>作为两个值的 XML 提要。
我需要的是 xpath 函数,<newprice>仅当它的值小于 old 时才显示<price>。如果值不小,则不显示任何内容(或者 0 也可以)。

例子:

<price>88</price><newprice>88</newprice>结果将是 '0'
<price>88</price><newprice>45</newprice>结果将是 '45'

一般来说,我希望 newprice 仅在价值较小时才可见。否则应显示为“0”。谢谢

4

1 回答 1

0

用于输入

<?xml version="1.0" encoding="UTF-8"?>
<prices>
    <price>88</price>
    <newprice>88</newprice>
</prices>

在 xpath 1.0 中,这可以工作(如果新价格不更低,则不返回任何内容)

/prices/newprice[number(.) &lt; number(preceding-sibling::price)]

在 xpath 2.0 中可以这样做(返回零)

if (prices/newprice &lt; prices/price) then prices/newprice else 0 
于 2013-08-22T04:23:56.617 回答