寫 Flex 的 .mxml 文件經常會出現 XML 定義,類似:
<mx:script>
<![CDATA[
var equation:XML = <equation><![CDATA[1+1>2]]>
]]>
</mx:script>
如果 equation 的值需要為 CDATA 以方便操作,直接使用就會碰到問題。解決方式是,添加個 cdata(value:String):XML 函數,用如下方式調用:
<mx:script>
<![CDATA[
var equation:XML = <equation>{cdata("1+1=2")}</equation>
private function cdata(value:String):XML {
return new XML("<![CDATA[" + value + "]]**\**>");
}
]]>
</mx:script>
注意該函數里的反斜杠。