2012-03-01 78 views
2

我通过CFINVOKE如何在Coldfusion中生成.xml文件?

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

调用ColdFusion的互联网服务和我存储XML returnvariable到userList变量

<cfset userList = XmlParse(rawXMLUserLis)> 

现在我必须生成XML格式输出,这样我可以在这个文档保存abc.xml

如何将此内容保存到.xml

+1

你在你的XMLPARSE()调用已经一个错字。 – ale 2012-03-01 14:07:12

回答

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> 
+0

谢谢KobbyPemson – Kishor 2012-03-02 05:55:56

+0

可以请你告诉我如何在用户的电脑上保存这个abc.xml文件,使用cffile它保存在服务器电脑上,我必须将它保存在调用此方法的用户电脑上。 – Kishor 2012-03-06 14:01:50

+0

查看更新回答 – KobbyPemson 2012-03-06 16:33:11

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> 
+0

从OP,它*是* xml .... – Ageax 2018-01-17 00:41:10