我有各种包含整数的 xml 节点,如下所示,它们根据 XML 文件中的变量拉入 Word 文档。
<example>0</example>
<example>2</example>
<example>0</example>
<example>1</example>
我目前正在使用以下方法来计算节点的值,而不是节点本身,以获得值的总数,在本例中,答案输出为 3。
sum(//project[1]/example[*]/total_examples[text()])
但是,当生成文档时,上述 XPath 输出为“3.0”而不是“3”。 我最初尝试翻译:
translate(sum(...), '.0','')
然而,这也进行了翻译,并删除了所有值总计为 0 的任何输出。 我也尝试过 Floor(...) ,它仍然产生小数位。
是否有办法从此输出中仅删除小数位?我无权访问自动生成的 XML 文件,因此无法使用 XSLT 变量或类似变量。 仅纯 XPath1.0 查询。
如果这是不可能的,有没有办法做类似的事情:
if total_examples != 0
//strip the .0
translate(sum(//project[1]/example[*]/total_examples[text()]), '.0', '')
fn:format-number()
和 十进制格式 来控制数字的格式并确保它没有 .0
。
fn:format-number(sum(//project[1]/example[*]/total_examples[text()]), '#')