2012-03-01 80 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