如何在ColdFusion中将XML数组文本项转换为数字?

我在使用函数将 XML 数据转换为适当的数据类型时遇到问题。我已经使用 XmlParse() 读入了一个 XML 文件。其中有一个我循环的数组。<Cfloop array=#i.Task# index="t">
我的理解是这个数组中的项目是 XML 文本。我可以用 CFoutput 显示所有项目没问题。数组 (BaseLineColor) 中的一项是颜色。#t.BaseLineColor#然而,这个颜色值是一个不同长度的十进制整数。我已经计算出将这个十进制数转换为 R、G、B 十进制值的数学方法。到目前为止一切都很好。问题是,如果我在 BaseLineColor 上尝试数学函数,那么我会得到:

值 ?xml version="1.0" encoding="UTF-8"?BaseLineColor 255 /BaseLineColor 无法转换为数字。

好吧,我尝试了几种方法来尝试将 BaseLineColor 转换为整数,但没有任何效果。Val() 不起作用。事实上,我似乎无法将其转换为任何数据类型。例如,这是我试图将其设为字符串 - 同样的错误:

 <cfscript>
            Strbaselinecolor=toString(t.BaseLineColor);
            rdec=floor(Strbaselinecolor / 65536);
            gdec=floor((Srtbaselinecolor - rdec * 65536)/256);
            bdec=floor(Strbaselinecolor - rdec * 65536 - gdec * 256);
            writeOutput("#t.baselinecolor#: #Strbaselinecolor# red #rdec#, green #gdec#, blue #bdec#")
</cfscript>

我应该使用什么功能?在我可以将其中一些值称为整数之前,我是否应该以某种方式预处理 XML?

XML 数据中有很多值是数字(一些整数和一些浮点数),所以这不仅仅是关于这些颜色的项目,而是使用任何非文本 XML 数据的更普遍的问题。我试图找到一些关于此的参考资料,但到目前为止还没有找到任何相关的内容。但我猜这是读取 XML 文件时的常见问题。

在此先感谢您的帮助。

以上是如何在ColdFusion中将XML数组文本项转换为数字?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>