我记得以前这样做过,所以我想我在这里错过了一些东西。 XMLNode的nodeType属性仅支持ELEMENT_NODE和TEXT_NODE,如果我尝试将CDATA部分作为字符串添加到XMLNode,它将被转义。
var node:XMLNode = new XMLNode(3, "<![CDATA[some text and <tags> here]]>");
我得到的是一个TEXT_NODE,其值如下:
&amp; lt;![CDATA [some text and&amp; lt ;标签&amp; gt;这里]]&amp; gt;
甚至不是TEXT_NODE的有效值
答案 0 :(得分:0)
它不会解析,你可能需要这样做的后台。
试用一次:将您的节点内容添加为字符串
var sometext:String = 'some text and <tags> here';
在文档中添加空白XMLNode
,然后使用xml.replace
xml.replace('blanknode','<blanknode><![CDATA[' + sometext + ']]></blanknode>');
试用二:将其从XML
返回类型函数返回到XMLNode
<强>更新强>
var sometext:String = 'some text and <b>bold</b> here';
var nodeblank:XMLNode = new XMLNode(1,insert(sometext));
trace(nodeblank);
var txt:TextField = new TextField();
txt.htmlText = nodeblank.nodeName;
addChild(txt);
这显示在TextField
- &gt;一些文字和粗体这里
public function insert(s:String):XML {
var x:XML = new XML("<![CDATA[" + s + "]]>");
return x;
}