闪存AS3和XML:的方式来解决换行符的htmlText,在XML使用标签?
-
26-09-2019 - |
题
我在从XML文件中导入文本,我使用的htmlText要尽量保持一定的造型与标签。我都经常和粗体字体嵌入和加粗工作正常。问题是,在周围大胆就像一个段落缩进,然后的话它的广告空间,使后他们断行。这是怎么回事,有没有办法解决?
fromxmlText.htmlText = theXML.contenttext;
如果我拉文从一个txt文件,它会正常工作,但服用它的XML文件引起时髦格式。律”帮助?
解决方案
要添加HTML转换成XML,您必须使用 CDATA 块,否则HTML被认为是部分XML文档。
e.g。
<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趋于双空间换行。你的编辑器应该允许您指定的行结尾。
其他提示
我在导入动态RSS订阅到我的Flash广告有嵌入的HTML标签。我有同样的问题。我用正则表达式查找和替换。下面是我用的功能。你可以用习题我正则表达式的代码在那里做同样的事情。好像我们有同样的问题。希望这有助于:
功能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标签来显示预格式化的代码,否则你输出多个节点的XML内容。
见 W3学校,获取更多的信息。
另外,还要确保你的文本字段设置为multiline
你设定点击即。
var myText:TextField = new TextField();
myText.multiline = true;
myText.htmlText = (your xml node with the <br/ >);
addChild(myText);
希望这有助于。
不隶属于 StackOverflow