我正在ColdFusion中构建一些XML来将数据发送到QuickBooks.我可以使用我的数据来构建我的变量<cfoutput>.像这样:
<cfoutput query="get">
<cfset #x# =
'
<InvoiceAddRq>
<InvoiceAdd>
<CustomerRef>
<ListID>XXXXX</ListID>
</CustomerRef>
<ClassRef>
<ListID>XXXXX</ListID>
</ClassRef>
<TxnDate>2010-11-04</TxnDate>
<InvoiceLineAdd>
<ItemRef>
<ListID>XXXXX</ListID>
</ItemRef>
<Desc>XXXXX</Desc>
<Quantity>XXXXX</Quantity>
<Rate>XXXXX</Rate>
</InvoiceLineAdd>
</InvoiceAdd>
</InvoiceAddRq>
'
>
Run Code Online (Sandbox Code Playgroud)
但我需要创建XML,我遍历行项目的细节与<cfloop>内部<cfset>.这就是我想要做的:
<cfoutput query="get">
<cfset #x# =
'
<InvoiceAddRq>
<InvoiceAdd>
<CustomerRef>
<ListID>XXXXX</ListID>
</CustomerRef>
<ClassRef>
<ListID>XXXXX</ListID>
</ClassRef>
<TxnDate>2010-11-04</TxnDate>
<cfquery name="getDetails">
</cfquery>
<cfloop query="getDetails">
<InvoiceLineAdd>
<ItemRef>
<ListID>XXXXX</ListID>
</ItemRef>
<Desc>XXXXX</Desc>
<Quantity>XXXXX</Quantity>
<Rate>XXXXX</Rate>
</InvoiceLineAdd>
</cfloop>
</InvoiceAdd>
</InvoiceAddRq>
'
>
Run Code Online (Sandbox Code Playgroud)
这显然无法正常工作,因为它正在查看XML的属性和属性.我试图弄清楚如何编写一些XML然后执行我的查询和循环以获取行项目详细信息然后返回到XML.我很难知道如何做到这一点.我希望这是有道理的,任何帮助将不胜感激.
您可以尝试<cfxml>或<cfsavecontent>构建XML字符串.
<cfxml variable="your_xml_var" caseSensitive="yes">
<InvoiceAddRq>
<Anothertag>
</Anothertag>
<cfloop query="your_query">
<Somedata foo="#your_query.bar#">
#your_query.blah#
</Somedata>
</cfloop>
</InvoiceAddRq>
</cfxml>
Run Code Online (Sandbox Code Playgroud)
<cfsavecontent variable="your_xml_var">
<InvoiceAddRq>
<cfloop query="your_query">
<Anothertag />
</cfloop>
</InvoiceAddRq>
</cfsavecontent>
Run Code Online (Sandbox Code Playgroud)