1

以前にやったことを覚えているので、ここで何かが足りないと思います。XMLNodeのnodeTypeプロパティはELEMENT_NODEとTEXT_NODEのみをサポートし、CDATAセクションを文字列としてXMLNodeに追加しようとすると、エスケープされます。

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

私が取得するのは、次の値を持つTEXT_NODEです。

&lt;![CDATA [一部のテキストと&lt;タグ&gt; ここ]]&gt;

これはTEXT_NODEの有効な値でもありません

4

1 に答える 1

0

それは解析されません。それを行う裏道が必要になるかもしれません。

トライアル 1 : ノード コンテンツを文字列として追加します。

var sometext:String = 'some text and <tags> here';

ドキュメントに空白XMLNodeを追加してから、xml.replace を使用します。

xml.replace('blanknode','<blanknode><![CDATA[' + sometext + ']]></blanknode>');

試行 2 : 戻り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 に答える