2016-08-19 156 views
1

目前我正在从SQL查询创建一个XML文件。该文件已成功生成,但是当它在记事本中打开时,它会在单个文件上生成大量文本。有什么方法可以在XML标签之前和之后添加行吗?还是有我想念的东西?在Coldfusion上添加XML换行符

+0

你的意思是格式化XML? –

+1

如果您在网络浏览器中打开它,该怎么办? –

+0

@DanBracuk是正确的!无论它在记事本中的显示方式如何,只要它不会在浏览器中打开时显示任何错误! –

回答

0

我找到了解决办法。实际上,我只是想让记事本中打开时XML更具可读性。我在cflib.org找到函数来缩进XML,并使其变得更漂亮的结构.. :)这里的链接,如果有人需要它.. indentXML

1

关于使人们可以读取XML文档的动机,它有助于在开发过程中。它可以更容易地确保您正确匹配标签和数据。这是我曾经做过的事情的一个例子。

首先,当您使用cfsavecontent时,源代码中的换行符将成为变量的一部分。

<cfsavecontent variable="data"> 
<BurnRecords> 
<cfoutput query="something"> 
more tags and code 
</cfoutput> 
</BurnRecords> 
</cfsavecontent> 

接下来,让一个真正的XML变量:

<cfxml casesensitive="yes" variable="xmldata"> 
<cfoutput>#Replace(data, chr(10) & chr(13) & chr(10) & chr(13), chr(10), "all")#</cfoutput> 
</cfxml> 

功能是替换,因为我有太多的空白。如果您想为您开发阅读你的数据,你可以这样做:

<cfform> 
<cftextarea name="x" value="#xmldata#" cols="100" rows="200"></cftextarea> 
</cfform> 

否则,你这样做:

<cffile action="write" nameconflict="overwrite" file="#FileName#" output="#xmldata#"> 
+0

cftextarea是否会转义xml?不需要'xmlformat()'? –

+0

对于我目前的工作,我的目标是查看我正在制作的数据,并在此答案中的示例代码允许我实现该目标。 –

+0

实际上,我只是想让在记事本中打开时XML更具可读性。我发现在cflib.org中的函数缩进XML,并使其变得更漂亮的结构.. :)这里的链接,如果有人需要它.. http://cflib.org/udf/indentXml –