使用Coldfusion循环使用XmlChildern

时间:2014-05-17 02:25:47

标签: xml coldfusion

我有一个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>

在尝试确保我的代码正确时,我只是尝试打印出元素的xmlName。第二章和第三章。

循环只打印chapter2,当我打印booknodes的arraylen时,它只显示1但是当我转储变量booknodes时,第3节点存在于其所有的childern中。

循环似乎只是在一个循环之后停止。

我错过了什么吗?

1 个答案:

答案 0 :(得分: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>