我有一个购物车,商品值存储在结构数组中。这些值将传递到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>
答案 0 :(得分:-1)
我希望您想在lineItem中循环xml数据,并且xml数据如上面所提到的那样位于savecontent中,
<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中,因此您首先要解析内容,然后根据您的标签可以执行搜索操作。然后您可以对xmlChildren进行循环,例如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数据位于savecontent中,因此我们需要解析和搜索它,然后进行循环。但是,如果您的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>
希望对您有所帮助。谢谢。