xml - 如何解析 Coldfusion 中的每个 XML 元素/XML 子元素

标签 xml parsing coldfusion

我正在尝试获取每个元素(有 377 个元素)的子元素的 xmltext。内循环是我不确定的。我什至不知道我做的对不对。非常感谢您的帮助。我还附上了一张图片,这样您就可以看到 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

最佳答案

我建议您嵌套 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>

这不是描述性节点名称的好例子,因为我什至不知道您正在使用哪种数据,但您明白了。

关于xml - 如何解析 Coldfusion 中的每个 XML 元素/XML 子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38153858/

相关文章:

xml - 如何将相同的属性多次添加到 XML 中的元素标记

java - Android 应用程序在 startActivity 上崩溃

Java SimpleDateFormat 无法用 "Aug 15, 2017, 4:58 PM ET"解析 "MMM dd, yyyy, h:mm a z"

java - 我如何引用在 ANTLR 中多次调用同一规则?

parsing - Z3 C++,如何解析smt-competition unsat核心实例

sql-server - 通过选择多个表到某个文件位置从 SQL Server 生成 XML

java - 如何创建表示对象的 XML 属性

php - 从服务器到服务器的持久登录信息

arrays - 使用嵌套结构数组创建 Coldfusion JSON 结构

file-upload - 在 ColdFusion 8 中,如何确定文件上传是否是有效的 CSV 文件(或至少是文本)?