2

在 ColdFusion 中,我可以使用xmlParse(). 如何将其转换回字符串?

当我尝试使用toString()它时,会抛出“它无法将复杂对象转换为简单对象......”的错误,这很讽刺,因为这是它应该做的。

我需要使用XMLTransform()要求第一个参数是一个 xml 字符串。但是我还需要使用xmlSearch()来获取一个节点以传递给我的转换,并且 xmlSearch 返回一个 xmlObject。所以现在我需要将该对象重新转换为 xml 字符串格式以传递给 xmlTransform。

4

3 回答 3

3

谢谢你们;

我的问题的原因是由于这个特定 XML 的结构,我的 XMLSearch 返回了一个包含多个项目的数组。因此,尝试toString()在该结果上使用会导致错误。

代码:

    pXML = xmlParse( _xml );
    myElements = XmlSearch( pXML, "//data" );   
    writeoutput( toString( myElements ) );

结果/错误:

    Error Occurred While Processing Request
    Complex object types cannot be converted to simple values. 

解决方案

    writeOutput( toString( myElements[1] ) );

XML 有多个名为“data”的嵌套节点,并且XMLSearch()遍历并返回每个节点。

再次感谢您的输入。

于 2012-09-21T14:09:27.750 回答
0

尝试在 cfxml 中输出 XML 文本,然后改回字符串格式,如下所示:

<cfxml variable="xmlObject" casesensitive="yes">
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
</rss>
</cfxml>
<cfoutput>#ToString(xmlObject)#</cfoutput>

或者

<cffile action="write" file="#ExpandPath('RSS.xml')#" output="#ToString(xmlObject)#">

有关toString() http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7f9e.html的详细信息

如果这不是你需要的,你能澄清一下吗?

于 2012-09-20T20:39:52.467 回答
0

我会将 XML 包装在 cfsavecontent 中。并将变量用作字符串

于 2012-09-20T21:36:27.840 回答