使用Coldfusion在XmlChildern上循环

使用Coldfusion在XmlChildern上循环,xml,coldfusion,Xml,Coldfusion,我有一个xml文档: <book> <content> <chapter2> </chapter2> <chapter3> </chapter3> </content> </book> <cffile action="read" file="file.xml" variable="myxml"> <cfset mydoc = XmlPar

我有一个xml文档:

<book>
  <content>
    <chapter2>

    </chapter2>
    <chapter3>

    </chapter3>
  </content>
</book>

<cffile action="read" file="file.xml" variable="myxml">
<cfset mydoc = XmlParse(myxml)>
<cfset booknodes = xmlSearch(mydoc,'book/content') >

<cfloop from="1" to="#arraylen(booknodes)#" index="i" step="1">

     <cfset bookXML = xmlparse(booknodes[i])>
#bookXML.content.XmlChildren[i].xmlName#
</cfloop>

#bookXML.content.XmlChildren[i].xmlName#
为了确保代码正确,我只是试图打印出元素的xmlName。第二章和第三章

循环只打印第2章,当我打印booknodes的arraylen时,它只显示1,但是当我转储变量booknodes时,第3章节点及其所有子节点都存在

循环似乎在一点之后就停止了


我遗漏了什么吗?

您引用了错误的内容,不需要复杂的XMLSearch等等。。。在这里:

<cfset booknodes = myxml.book.content>
<cfloop from="1" to="#arraylen(booknodes.XmlChildren)#" index="i" step="1">
  <cfoutput>#booknodes.XmlChildren[i].xmlName#</cfoutput>
</cfloop>

#booknodes.XmlChildren[i].xmlName#

我不得不添加,然后使用,它就成功了。Thank.XmlParse接受一个文件名,即
mydoc=XmlParse('file.xml')