Xpath将节点强制转换为mod的编号
我有包含数字的节点,我想将其转换为数字并使用mod。例如:Xpath将节点强制转换为mod的编号,xpath,numbers,modulus,Xpath,Numbers,Modulus,我有包含数字的节点,我想将其转换为数字并使用mod。例如: <item> <num>1</num> </item> <item> <num>2</num> </item> <item> <num>3</num> </item> 你知道这能不能做到吗?即使有办法转换成ASCII码,我也会接受 提前谢谢 数字(num)mod 3应该
<item>
<num>1</num>
</item>
<item>
<num>2</num>
</item>
<item>
<num>3</num>
</item>
你知道这能不能做到吗?即使有办法转换成ASCII码,我也会接受
提前谢谢 数字(num)mod 3
应该可以工作。以下示例文件按预期输出1 2 0
XML
(另存为input.xml
)
注意:只需选择中的num mod 3
以下是文档中的示例,以供参考
我试过:
num mod 3 -- returns NaN
number(num) mod 3 -- returns NaN
number(string(num)) -- returns NaN
num mod 3 -- returns NaN
number(num) mod 3 -- returns NaN
number(string(num)) -- returns NaN
你知道这能不能做到吗
由于没有提供完整的XML文档,下面是我的两个猜测:
num
子节点。解决方案是确保上下文节点是正确的,或者使用绝对XPath表达式“x”
),然后将表达式中的num
替换为x:num
前两个应该有效。您使用的XPath引擎是什么?plain
num
返回什么?我打赌那也是楠。我猜您的表达式不工作是因为上下文节点错误。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="xsl">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="//item">
<xsl:value-of select="number(num) mod 3"/>
</xsl:template>
</xsl:stylesheet>
num mod 3 -- returns NaN
number(num) mod 3 -- returns NaN
number(string(num)) -- returns NaN