当我使用toString()转换coldfusion中的xml对象时,如何删除所有缩进字符?

时间:2012-01-30 06:25:01

标签: xml coldfusion tostring

我正在使用coldfusion进行编码,现在我尝试使用toString()将xmlParse()生成的xml结构转换为XML字符串,但toString()总是添加一些chr(10)和chr(32) xml节点,例如“< node1> xxx< / node1> chr(10)chr(32)chr(32)chr(32)< node2> yyyy< / node2>”,它们看起来像保持缩进,所以我的问题是如何删除所有这些缩进字符? (我需要在节点内容中保留相同的char,因此使用正则表达式去除所有内容对于这种情况不起作用。)

感谢

2 个答案:

答案 0 :(得分:0)

当你调用toString(xml)时,它在内部使用Cast._String()包装了String.valueOf(),它包装了org.apache.xerces.dom.NodeImpl类中的NodeImpl.toString()方法。

http://xerces.apache.org/xerces-j/apiDocs/org/apache/xerces/dom/NodeImpl.html#toString()

.toString()方法为您提供了一个非dom的数据副本,用于调试目的。

至于它为什么注射CRLF等,我不确定。我会四处寻找,看看我能找到什么。

答案 1 :(得分:0)

Chr(10)是一个换行符,32是一个空格,所以是的,它只是格式化。

当你编写从toString输出的变量的内容时,ColdFusion chr函数将消失,留下完全有效的xml。

像迈克一样,我对他们出现的原因感到有些困惑。您是以xmlformat或类似方式包装输出吗?如果你是,不要。 Xmlformat仅适用于不是完整结构的节点的内容。