昨天实现一个功能时,遇到一个问题:我用AS3在xml文件中获取一段文本(文本中包含链接),将文本赋值给一个TextField对象的htmlText属性,这时候会发现被链接的单词或字符的首尾会被分行,也就是说被链接的单词会被单独置为一行。

解决办法: 把字符置于xml的CDATA标签内(由 <![CDATA[ 开始,由 ]]> 结束),让字符不被AS3的xml解析器解析。

关于CDATA标签的说明

CDATA标签为不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。
在 XML 元素中,”<” 和 “&” 是非法的。
“<” 会产生错误,因为解析器会把该字符解释为新元素的开始。
“&” 也会产生错误,因为解析器会把该字符解释为字符实体的开始。
某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。
CDATA 部分中的所有内容都会被解析器忽略。