【问题标题】:Looping over XmlChildern with Coldfusion用 Coldfusion 循环 XmlChildern
【发布时间】:2014-05-17 02:25:46
【问题描述】:

我有一个 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。第 2 章和第 3 章。

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

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

我错过了什么吗?

【问题讨论】:

    标签: xml coldfusion


    【解决方案1】:

    你引用了错误的东西,你不需要复杂的 XMLSearch 等......在这里:

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

    【讨论】:

    • 我必须添加 然后使用 并且它有效。谢谢。
    • XmlParse 接受文件名 - 即mydoc = XmlParse('file.xml')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多