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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了循环遍历结构数组并将值放入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数据在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>

我希望它对你有所帮助。谢谢。

以上是关于循环遍历结构数组并将值放入xml中的主要内容,如果未能解决你的问题,请参考以下文章

如何遍历对象数组并将值放入过滤器?

如何在 mongoose 中使用 update many 来循环遍历 8 个元素并将它们放入该模式中的数组中

PHP、XML 获取记录节点和值并将它们放入 JSON 数组? [复制]

如何遍历保存到 JSONObject 的数据数组并将其放入 JSONArray?

循环遍历一个大数组并将值加在一起 ​​C#

如何一次循环遍历 2 个数组并将数组中的颜色分配给另一个数组的每个值