5 に答える
HTML を XML に追加するには、 CDATAブロックを使用する必要があります。そうしないと、HTML は XML ドキュメントの一部と見なされます。
例えば
<root>
<someHtml><![CDATA[I can contain<br />html tags]]></someHtml>
<somePlainText>I cannot contain html tags since they will be
seen as XML nodes</somePlainText>
</root>
また、XML ファイルを unix 行末で保存し、utf-8 としてエンコードしていることを確認してください。Windows の行末 ( \r\n
) を使用している場合、Flash はスペース改行を二重にする傾向があります。エディターで行末を指定できるようにする必要があります。
HTML タグが埋め込まれた Flash 広告に動的な RSS フィードをインポートしていました。私は同じ問題を抱えていました。正規表現を使用して検索と置換を行いました。使っていた機能はこちら。そこで私の正規表現コードを使用して同じことを行うことができます。同じ問題を抱えていたようです。お役に立てれば:
function Parserover_feature(rover_feature:XML):void {
var s:String = rover_feature.items.item[0].article;
s = s.replace(/(?:<br>)+/gi, '<br>');
s = s.replace(/\n/g, '');
container.info_txt.htmlText = s
//trace (s);
}
XML を見ずして言うのは難しいですが、グローバルな XML プロパティ、特にignoreWhitespaceをいじってみてください。行末によっては、テキストをテキストフィールドに入れる前にそれらを削除する必要がある場合もあります。
xml から埋め込む場合は、CDATA タグを使用して事前にフォーマットされたコードを表示していることを確認してください。そうしないと、複数のノードのコンテンツを XML で出力することになります。
詳細については、 w3 学校を参照してください。
またmultiline
、textField.htmlText = xmlを
ieで設定する前に、textFieldがに設定されていることを確認してください
var myText:TextField = new TextField();
myText.multiline = true;
myText.htmlText = (your xml node with the <br/ >);
addChild(myText);
お役に立てれば。