Я надеюсь, что вы хотите зациклить данные 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>
Надеюсь, это поможет вам. Благодарю.