我正在 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>
'
>
但我需要创建 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>
'
>
这显然不能正常工作,因为它看到的是 XML 的和 as 属性。我试图弄清楚如何编写一些 XML,然后进行查询和循环以获取行项目详细信息,然后返回到 XML。我对如何做到这一点感到困惑。 我希望这是有道理的,我们将不胜感激。
最佳答案
你可以试试<cfxml>
或 <cfsavecontent>
构建您的 XML 字符串。
cfxml :
<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>
<cfsavecontent variable="your_xml_var">
<InvoiceAddRq>
<cfloop query="your_query">
<Anothertag />
</cfloop>
</InvoiceAddRq>
</cfsavecontent>
关于xml - 从 ColdFusion 构建 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4126644/