【问题标题】:Actionscript 3 and XML with CDATAActionscript 3 和带有 CDATA 的 XML
【发布时间】: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 标签并且不使用样式。

任何帮助表示赞赏。

【问题讨论】:

    标签: css xml actionscript-3 flash


    【解决方案1】:

    我认为你可以开始

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

    【讨论】:

    • 谢谢。 blocktext.htmlText = myXML.data.textblock.toString(); 似乎适用于 HTML 标签,但不适用于 css。
    • @snookian 更新了我的帖子。 StyleSheet 不能抽象地工作,您需要为您需要设置样式的 TextField 分配一个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 1970-01-01
    相关资源
    最近更新 更多