循环遍历结构数组并将值放入 XML 中



我有一个购物车,其中的项目值存储在结构数组中。这些值将传递到 xml 中。我想遍历 xml。我知道如何遍历结构和数组,但是如何在 XML 中填充值?

lineitem将是我需要循环的地方。

<lineItems>
<lineItem>
<itemId>1</itemId>
<name>vase</name>
<description>Cannes logo </description>
<quantity>18</quantity>
<unitPrice>45.00</unitPrice>
</lineItem>
</lineItems>

我希望您想在 lineItem 中循环 xml 数据,并且 xml 数据位于保存内容中,如您上面提到的示例,

<cfsavecontent variable="myXmlData">
<lineItems>
<lineItem>
<itemId>1</itemId>
<name>vase</name>
<description>Cannes logo </description>
<quantity>18</quantity>
<unitPrice>45.00</unitPrice>
</lineItem>
<lineItem>
<itemId>2</itemId>
<name>vase2</name>
<description>Cannes logo2 </description>
<quantity>20</quantity>
<unitPrice>90.00</unitPrice>
</lineItem>
</lineItems>
</cfsavecontent>

您的 xml 数据位于 savecontent 中,因此您可以先解析内容,然后根据您的标签进行搜索操作。然后,您可以对xmlKids进行循环,例如itemId,Name,Quantity等。

<cfoutput>
<cfset myXmlContent = XMLParse(myXmlData)>
<cfset mySearchContent = xmlsearch(myXmlContent,'lineItems/lineItem')>
<cfloop from="1" to="#arraylen(mySearchContent)#" index="i">
<cfloop from="1" to="#arraylen(mySearchContent[i].XmlChildren)#" index="j">
#mySearchContent[i].XmlChildren[j].xmlName# --- #mySearchContent[i].XmlChildren[j].xmlText#<br/>
</cfloop>
</cfloop>
</cfoutput>

确保,这里的xml数据在保存内容中,因此我们需要解析和搜索它,然后执行循环。但是,如果您的 xml 内容保存为某个 xml 文件,则无需解析和搜索它。您可以使用

然后,您可以使用以下命令获取行项目值的列表

<cffile action='read' variable='myXml'>
<cfset myData= myxml.lineItem >
<cfloop from="1" to="#arraylen(myData.XmlChildren)#" index="i">
Do your logic here. !
<cfloop>

希望对您有所帮助。谢谢。

最新更新