我想知道是否可以使用循环创建xml对象。例如:
<cfset LOCAL.terminator = "|">
<cfxml variable="XML_file_format">
<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<cfoutput><cfloop list='fieldList' item="element" index='i' delimiters=','>
<FIELD ID="#i#" TERMINATOR="#LOCAL.terminator#" xsi:type="CharTerm"/>
<cfif i EQ listLen(fieldList) - 1>
<cfbreak>
</cfif>
</cfloop>
<FIELD ID="#listLen(fieldList)#" TERMINATOR="\r\n" xsi:type="CharTerm"/>
</cfoutput></RECORD>
<ROW>
<cfoutput><cfloop list='fieldList' item="element" index='i' delimiters=','>
<COLUMN NAME="#element#" SOURCE="#i#" xsi:type="SQLNVARCHAR"/>
</cfloop>
</cfoutput></ROW>
</BCPFORMAT>
</cfxml>
但是当我做这样的事情时,我只得到1个FIELD和1个COLUMN。可以像这样做一个循环吗?还有另一种方法吗?这是在ColdFusion btw。谢谢!
答案 0 :(得分:3)
在你的cfloops中,你循环遍历字符串&#34; fieldList&#34;不是变量&#34; #fieldList#&#34;。 Coldfusion看到&#34; fieldList&#34;作为具有1个元素的列表,因此是单个循环迭代。
此外,我不相信您需要cfxml标记内的cfoutput标记。