Actionscript 3和XML with CDATA

时间:2017-12-05 13:17:03

标签: css xml actionscript-3 flash

我正在尝试将我们拥有的AS2圣诞卡转换为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 个答案:

答案 0 :(得分:2)

我认为你可以从

开始
blocktext.styleSheet = textStyleSheet;
blocktext.htmlText = myXML.data.textblock.children.toString();