如何在coldfusion中生成.xml文件?

时间:2012-03-01 13:53:25

标签: xml coldfusion

我通过cfinvoke

调用ColdFusion Web服务
<cfinvoke
   method="getUsers"
   returnvariable="rawXMLUserList"
   webservice="http://www.xyz.com/getusers.cfc?wsdl"
>
  <cfinvokeargument name="userid" value="123">
</cfinvoke>

我将XML returnvariable存储到userList变量

<cfset userList = XmlParse(rawXMLUserLis)>

现在我必须以XML格式生成输出,以便我可以将此文档保存在 abc.xml 中。

如何将此内容保存到 .xml

2 个答案:

答案 0 :(得分:2)

保存

 <cffile action="write" output=#userlist# file="#ExpandPath('abc.xml')#"> 

以原始方式显示:

<cfoutput>#userList#</cfoutput>

要在网页上安全地显示它:

<cfoutput>#xmlFormat(userList)#</cfoutput>

以格式化显示

<cfdump var=#userList#/> 

可下载

<cfinvoke
   method="getUsers"
   returnvariable="rawXMLUserList"
   webservice="http://localhost/getusers.cfc?wsdl">
  <cfinvokeargument name="userid" value="123">
</cfinvoke>

<cfsavecontent variable="userList">
    <cfoutput>#XmlParse(rawXMLUserList)#</cfoutput>
</cfsavecontent>

<cfcontent  type="text/plain" reset="true"  />
<cfheader name="Content-Disposition" value="attachment; filename=abc.xml" />
<cfoutput>#userList#</cfoutput>

答案 1 :(得分:0)

这很简单;)

     <cfset data = { 'a' = 1, 'b' = 2, 'c' = 3 } />       
     <cfset var xmloutput = rereplacenocase( serializeXML(data) , '&(?!##?[a-z0-9]+;)', '&amp;', 'all') />

     <cfheader name="Content-type" value="text/xml" charset="utf-8"> 
     <cfoutput>#xmloutput#</cfoutput>