1

我记得以前做过,所以我想我在这里遗漏了一些东西。XMLNode 的 nodeType 属性仅支持 ELEMENT_NODE 和 TEXT_NODE,如果我尝试将 CDATA 部分作为字符串添加到 XMLNode,它会被转义。

var node:XMLNode = new XMLNode(3, "<![CDATA[some text and <tags> here]]>");

我得到的是具有以下值的 TEXT_NODE:

< ;![CDATA[一些文本和 < ;tags> ; 这里]]>

这甚至不是 TEXT_NODE 的有效值

4

1 回答 1

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-> 一些文本和粗体这里

public function insert(s:String):XML {
            var x:XML = new XML("<![CDATA[" + s + "]]>");
            return x;
    }
于 2010-07-06T11:28:26.673 回答