ColdFusion:缩小 XML

标签 coldfusion minify coldfusion-8

我正在进行 XML 创建的各种工作。一个这样的缩减示例是:

<cfxml variable="xmlDoc">
    <cfoutput>
        <?xml version='1.0' encoding='utf-8' ?>
        <event id="#iEventId#">
            <relatedevents>
                <cfloop query="qPreviousEvents">
                    <cfif eventid IS NOT iEventId>
                        <event id="#eventid#" sameyear="<cfif DateFormat(startdate, " yyyy ") EQ DateFormat(cfcObject.GetStartDate(), "yyyy ")>1<cfelse>0</cfif>">
                            <title>#XmlFormat(Title)#</title>
                            <tag>#LCase(ReReplaceNoCase(ReReplaceNoCase(tagname, " ", "-", "all"), "[^a-z0-9_-]", "", "all"))#</tag>
                        </event>
                    </cfif>
                </cfloop>
            </relatedevents>
        </event>
    </cfoutput>
</cfxml>
<cfreturn xmlDoc>

我的问题是如何缩小生成的 XML?目前 CF 所在位置有空行,每个节点有一行。理想情况下,我希望它能被缩小,这样它就只在一行上,标签之间没有空格。

我可以在某个地方进行替换吗?或者有一个我可以使用的功能吗?

谢谢

最佳答案

与其将缩进放入然后再将其取出,也许最好一开始就不要将其放入。

这样做的一个合理权宜之计(如果稍微不优雅)的方法可能是抑制输出,除非您规定它,例如:

<cfsetting enablecfoutputonly="true">
<cfxml variable="x">
    <cfoutput><aaa></cfoutput>
        <cfoutput><bbb/></cfoutput>
        <cfoutput><ccc ddd="eee">fff<ggg /></ccc></cfoutput>
    <cfoutput></aaa></cfoutput>
</cfxml>

<pre>
<cfoutput>#encodeForHtml(toString(x))#</cfoutput>    <!--- <?xml version="1.0" encoding="UTF-8"?> <aaa><bbb/><ccc ddd="eee">fff<ggg/></ccc></aaa> ----> 
</pre>

关于ColdFusion:缩小 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26527575/

相关文章:

variables - 在 Coldfusion8 application.cfc 中哪里定义应用程序和 session 变量?

mysql - 将文件保存到 Coldfusion 中的服务器,存储在 CF 临时目录中而不是指定的目的地

sql - BULK INSERT 缺少最后一行?

sql - 如果您在 ColdFusion 中有两个具有相同设置的不同数据源连接,它们是否共享同一个池?

java - 如何使用 Java 在运行时缩小不同的 javascript 文件

javascript - 将 Drupal 优化的 CSS 和 JS 用于 Drupal 之外的其他文件

coldfusion - 使用 ColdFusion 从字符串末尾删除设定数量的字符

coldfusion - 使用包含文件的函数会使 Coldfusion 忘记导入。这是正常的吗?

ColdFusion CSRF XSS 攻击预防

css - 为什么 YUI Compressor 不最小化带有负单位值的 CSS 规则中的前导零(对于 float )?