Actionscript 3 和带有 CDATA 的 XML
Posted
技术标签:
【中文标题】Actionscript 3 和带有 CDATA 的 XML【英文标题】:Actionscript 3 and XML with CDATA 【发布时间】:2018-05-19 04:08:59 【问题描述】:我正在尝试将我们必须的 AS2 xmas 卡转换为 AS3,但我一直坚持使用 CDATA 显示 XML。基本上 HMTL 标签仍然可以输出。
这是我的 XML:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<data>
<textblock>
<![CDATA[<h1>Seasons Greetings!</h1><p>from everyone at Honda</p>]]>
</textblock>
</data>
</config>
CSS
h1
font-size:55;
color:#333333;
p
font-size:25;
color:#333333;
还有我的 AS3:
import flash.net.URLLoader;
import flash.text.StyleSheet;
var myXML:XML = new XML();
var XML_URL:String = "config.xml";
var myXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader:URLLoader = new URLLoader(myXMLURL);
myLoader.addEventListener(Event.COMPLETE, xmlLoaded);
function xmlLoaded(event:Event):void
myXML = XML(myLoader.data);
trace("Data loaded.");
blocktext.text = myXML.data.textblock;
var textStyleSheet:StyleSheet;
function loadCSS():void
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onCSSLoadComplete);
loader.load(new URLRequest("config.css"));
function onCSSLoadComplete(event:Event):void
textStyleSheet = new StyleSheet();
textStyleSheet.parseCSS(event.target.data);
//loadXML();
它仍然输出 H1 和 P html 标签并且不使用样式。
任何帮助表示赞赏。
【问题讨论】:
【参考方案1】:我认为你可以开始
blocktext.styleSheet = textStyleSheet;
blocktext.htmlText = myXML.data.textblock.children.toString();
【讨论】:
谢谢。blocktext.htmlText = myXML.data.textblock.toString();
似乎适用于 HTML 标签,但不适用于 css。
@snookian 更新了我的帖子。 StyleSheet 不能抽象地工作,您需要为您需要设置样式的 TextField 分配一个。以上是关于Actionscript 3 和带有 CDATA 的 XML的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Adobe Animate CC/ActionScript 3 中创建带有图片的滚动列表
ActionScript 3 带有Zin init的基类模板
谁用过Xstream 用其生成带有cdata标签的xml解析带有cdata标签的xml