Xml XSL减去字段值
我有一个XSL文档,需要对其进行减法运算。 我有两个字段,如下例所示,我需要减去它们:Xml XSL减去字段值,xml,xslt,Xml,Xslt,我有一个XSL文档,需要对其进行减法运算。 我有两个字段,如下例所示,我需要减去它们: <xsl:value-of select="format-number(argo:Document/argo:docBody/argo:wagonVisit/wagonLadenWeight/text(), '#', 'NotANiceNumber') 您是否尝试过: <xsl:value-of select="format-number(argo:Document/argo:docB
<xsl:value-of select="format-number(argo:Document/argo:docBody/argo:wagonVisit/wagonLadenWeight/text(), '#', 'NotANiceNumber')
您是否尝试过:
<xsl:value-of
select="format-number(argo:Document/argo:docBody/argo:wagonVisit/wagonLadenWeight -
argo:Document/argo:docBody/argo:wagonVisit/wagonEmptyWeight,
'#', 'NotANiceNumber')" />
或者更干净一点:
<xsl:variable name="visit" select="argo:Document/argo:docBody/argo:wagonVisit" />
<xsl:value-of select="format-number($visit/wagonLadenWeight - $visit/wagonEmptyWeight,
'#', 'NotANiceNumber')" />
刚刚尝试了这些,它们看起来也很正确,但我得到了一个错误:message=error,在转换文档时:java.lang.NullPointerException;第11行;这个错误似乎与我上面的代码是否正确无关。你能告诉我们这里涉及的Java代码吗?如果删除此部分,代码是否运行正常?忽略我,这是我的错误。我想它太近了。我得到的结果是0,而它应该更像38000。感谢您在这方面的帮助,我非常感谢您能编辑您的问题以向我们展示您的输入XML吗?输入XML是从应用程序发送的,因此很遗憾,我实际上看不到它。请说明您的问题到底是什么,并发布足够的代码以使我们能够复制它:源XML和完整的XSLT(或者至少足以理解当前上下文和您使用的十进制格式)。一般来说,您应该在格式化原始值之前对其执行数字运算(格式化数字的结果是字符串,不一定是数字)。如果您没有直接获取XML的方法,您可能会暂时用http://en.wikipedia.org/wiki/Identity_transform
这样XSLT的输出就是XML。
<xsl:variable name="visit" select="argo:Document/argo:docBody/argo:wagonVisit" />
<xsl:value-of select="format-number($visit/wagonLadenWeight - $visit/wagonEmptyWeight,
'#', 'NotANiceNumber')" />