フラッシュAS3とXML:方法はのhtmlTextに改行を修正するには、XMLでの使用タグのこと?
-
26-09-2019 - |
質問
私は、xmlファイルからテキストをインポートだと私はタグで、いくつかのスタイルを維持しようとするのhtmlTextを使用しています。私は、組み込みの正規と太字フォントの両方を持っている、と太字は罰金を動作します。問題は、それ段落のインデントなどの太字の広告の単語の前後に空白をして、それらの後に改行を作るということです。 、修正の方法は何が起こっているのがありますか?
fromxmlText.htmlText = theXML.contenttext;
私はそれがうまく動作しますtxtファイルからテキストを引くが、ファンキーな書式設定を引き起こしてxmlファイルのそれを取り出した場合。リル・ヘルプ?
解決
XMLにHTMLを追加するには、それ以外の場合はHTMLがの一部とみなされる CDATA のブロックを使用する必要があります。 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>
また必ず、UNIXの改行コードを使用してXMLファイルを保存し、UTF-8としてエンコードされます。あなたは窓の行末(\r\n
)を使用している場合は、Flashがダブルスペース改行する傾向があります。お使いのエディタでは、改行コードを指定できるようにする必要があります。
他のヒント
私は、埋め込まれたHTMLタグを持っていた私のフラッシュ広告に動的なRSSフィードをインポートしました。私は同じ問題を抱えていました。私は、検索と置換するために正規表現を使用しました。ここで私が使用していた機能です。あなたは同じことを行うためにそこに私の正規表現コードを使用PROBすることができます。私たちは同じ問題を抱えていたように思えます。ホープ、このことができます:
関数Parserover_feature(rover_feature:XML):ボイド{
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タグを使用していることを確認してください。
学校が詳細はを W3見ます。
また、あなたがあなたのtextField.htmlText = XML
すなわち付きます。
multiline
に設定されていることを確認
var myText:TextField = new TextField();
myText.multiline = true;
myText.htmlText = (your xml node with the <br/ >);
addChild(myText);
希望このことができます。