我正在尝试获取每个元素(有 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>
最佳答案
我建议您嵌套 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/