我正在尝试动态创建一个xml列表..但是当我添加cdata标签时,它会给我一个错误,说明必须终止标签,即使我没有使用它们。似乎它试图将cdata标签读作标签。
var addList:XMLList = new XMLList( “”+ “”+ personName +“”+ “”+ personTitle +“”+ “”+ personEducation +“”+ “”+ personBio +“”+ “”)
我读到某个地方你必须逃避角色,但不确定究竟在哪里。
答案 0 :(得分:2)
您是否尝试在MXML文档的<Script>
标记内使用此字符串,是吗?
由于脚本标记是在CDATA
块内部定义的,]]>
是无效的字符序列(或者更确切地说,它表示CDATA的结尾,它应该在</Script>
之前。关闭标签。
无法逃脱 - 请参阅this SO question - 但在您的情况下,您可以轻松解决问题。定义常量以标记CDATA部分:
var CDBegin:String = "<!" + "[CDATA[";
var CDEnd:String = "]]" + ">";
var s:String = "<text>" + CDBegin + myText + CDEnd + "</text>";
或将您的XML构造移动到纯ActionScript文件而不是MXML。