【问题标题】:How to parse through each XML element/XML children in Coldfusion如何在 Coldfusion 中解析每个 XML 元素/XML 子项
【发布时间】:2016-07-01 21:06:12
【问题描述】:

我正在尝试获取每个元素的子元素的 xmltext(有 377 个元素)。内循环是我不确定的。我什至不知道我做得对不对。非常感谢您的帮助。我还附上了一张图片,以便您查看 XML 结构。

代码:

   <cfhttp url="https://company.company.com/company.svc/GetXML/16/" username="test" password="test" method="GET" result="headingsCode">
    </cfhttp>

    <cfset deliverablesXML = xmlparse(headingsCode.filecontent)>

    <cfset packageNodes = XmlSearch(deliverablesXML, "//env:Envelope/env:Reports/env:Report/dl:Contracts/dl:Contract/")/>

    <cfloop index="i" from="1" to="#arrayLen(packageNodes)#">
    <cfloop from="1" to="#arrayLen(packageNodes[i].XmlChildren)#" index="ii">

       ?????????????????????

    </cfloop>
</cfloop>

An example of one of the elements

【问题讨论】:

    标签: xml parsing coldfusion


    【解决方案1】:

    我建议你嵌套 foreach 循环。按名称维护节点级别比按索引更容易。示例:

    <cfset dlNodes = []>
    
    <cfloop array="#packageNodes#" index="xmlNode">
        <cfloop array="#xmlNode.XmlChildren#" index="xmlNodeChild">
    
            <cfset dlNodes.add(
                (xmlNodeChild.XmlName & ": " & xmlNodeChild.XmlText)
            )>
    
            <!--- uncomment line below to debug a single XML node --->
            <!--- <cfdump var="#xmlNodeChild#"><cfabort> --->
    
        </cfloop>
    </cfloop>
    

    描述性节点名称不是一个很好的例子,因为我什至不知道你正在使用什么样的数据,但你明白了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多