我有一些来自 3rd 方软件的输出:
来自软件的示例 XML:
<testsuite name="XYZ">
<testcase name="ABC" status="0" time="12.001">Some stuff</testcase>
<testcase name="DEF" status="0" time="12,345.001">Some stuff</testcase>
<testcase name="GHI" status="0" time="4,321.001">Some stuff</testcase>
</testsuite>
我需要编写一个 XSLT 将其转换为以下内容:
<testsuite name="XYZ" time="16678.003">
<testcase name="ABC" time="12.001">Some stuff</testcase>
<testcase name="DEF" time="12,345.001">Some stuff</testcase>
<testcase name="GHI" time="4,321.001">Some stuff</testcase>
</testsuite>
我几乎到了那里,除了testsuite元素的time属性。我没有得到总数,而是得到NaN。我用来得到这个的 XPath 表达式是sum(//testsuite/@time)
请注意,当所有时间都 < 1000 时不会发生错误。这可能是因为 XSLT 在遇到逗号时不解析数字。(我无法从输入中删除这些逗号,因为它来自第 3 方软件。)
那么我如何对这些时间值求和呢?是否可以修改sum(//testsuite/@time)以便能够即时删除逗号?
谢谢!