【发布时间】:2017-02-23 17:00:32
【问题描述】:
我注意到了一些奇怪的事情。这是我的 XML
<Items>
<Item>
<Name>A</Name>
<Amount>0.0012</Amount>
<Quantity>17</Quantity>
<TotalAmount>0.0204</TotalAmount>
</Item>
<Item>
<Name>B</Name>
<Amount>1</Amount>
<Quantity>2</Quantity>
<TotalAmount>2</TotalAmount>
</Item>
<Item>
<Name>C</Name>
<Amount>3</Amount>
<Quantity>2</Quantity>
<TotalAmount>6</TotalAmount>
</Item>
</Items>
这是我使用的 XPath
/Items/Item[((Amount * Quantity) != TotalAmount)]/名称
此 XPath 必须打印 TotalAmount!= Product(Amount, Quantity) 的项目名称。
我得到值 A。但我不明白为什么会这样因为 0.0012 * 17 = 0.0204
如果我删除项目“A”,那么我不会得到结果。
新版本的 XPath 也是如此
对于 $x in /Items/Item[((Amount * Quantity) != TotalAmount)] 返回 $x/姓名
我在 Java 中使用 Saxon 9。
谁能解释为什么会这样。
【问题讨论】: