从ColdFusion构建XML

Seq*_*zia 3 xml coldfusion

我正在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.我很难知道如何做到这一点.我希望这是有道理的,任何帮助将不胜感激.

Ken*_*ler 7

您可以尝试<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>
Run Code Online (Sandbox Code Playgroud)

cfsavecontent:

<cfsavecontent variable="your_xml_var">
  <InvoiceAddRq>
    <cfloop query="your_query">
      <Anothertag />
    </cfloop>
  </InvoiceAddRq>
</cfsavecontent>
Run Code Online (Sandbox Code Playgroud)