цикл по массиву структур и помещение значений в xml - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть корзина со значениями элементов, которые хранятся в массиве структур.Эти значения передаются в XML.Я хочу перебрать XML.Я знаю, как зацикливаться на структурах и массивах, но как мне заполнять значения в XML?

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *.

1 Ответ

0 голосов
/ 17 сентября 2018

Я надеюсь, что вы хотите зациклить данные xml в lineItem, и данные 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, amount и т. Д.

<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>

Надеюсь, это поможет вам. Благодарю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...