1
4

5 回答 5

3

要将 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>

还要确保使用 unix 行结尾保存 XML 文件并编码为 utf-8。如果您使用 Windows 换行符 ( \r\n),则 Flash 倾向于将空格换行符加倍。您的编辑器应该允许您指定行尾。

于 2010-06-10T13:40:22.640 回答
1

我正在将一个动态 rss 提要导入我的一个嵌入了 html 标签的 Flash 广告中。我遇到了同样的问题。我使用正则表达式来查找和替换。这是我正在使用的功能。你可以在那里使用我的正则表达式代码来做同样的事情。好像我们遇到了同样的问题。希望这可以帮助:

函数 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);

}

于 2011-05-20T16:01:09.543 回答
0

没有看到您的 XML 就很难说,但请尝试摆弄全局 XML 属性,尤其是ignoreWhitespace。根据您的行尾,您可能还需要在将文本放入文本字​​段之前剥离它们。

于 2010-06-10T06:25:33.113 回答
0

如果您从 xml 嵌入,请确保您使用 CDATA 标记来显示预格式化的代码,否则您将在 XML 中输出多个节点的内容。

请参阅w3 学校了解更多信息。

于 2010-06-10T06:25:56.123 回答
0

还要确保你的 textFieldmultiline在你设置你的 textField.htmlText = xml 之前设置为
ie

var myText:TextField = new TextField();
myText.multiline = true;
myText.htmlText = (your xml node with the <br/ >);
addChild(myText);

希望这可以帮助。

于 2012-12-20T16:51:16.533 回答