初始化 XML 变量

可将 XML 文本赋予 XML 对象,如下所示:

var myXML:XML = 
    <order>
        <item id='1'>
            <menuName>burger</menuName>
            <price>3.95</price>
        </item>
        <item id='2'>
            <menuName>fries</menuName>
            <price>1.45</price>
        </item>
    </order>

如下面的代码片断所示,还可以使用 new 构造函数从包含 XML 数据的字符串创建 XML 对象的实例:

var str:String = "<order><item id='1'><menuName>burger</menuName>"
                            + "<price>3.95</price></item></order>";
var myXML:XML = new XML(str);

如果字符串中的 XML 数据格式有误(例如缺少结束标签),则会出现运行时错误。

还可以将数据按引用(从其它变量)传递到 XML 对象,如下面的示例所示:

var tagname:String = "item"; 
var attributename:String = "id"; 
var attributevalue:String = “5”; 
var content:String = "Chicken"; 
var x:XML = <{tagname} {attributename}={attributevalue}>{content}</{tagname}>; 
trace(x.toXMLString())
    // 输出:<item id="5">Chicken</item>

要从 URL 加载 XML 数据,请使用 URLLoader 类,如下面的示例所示:

import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;

var externalXML:XML;
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("xmlFile.xml");
loader.load(request);
loader.addEventListener(Event.COMPLETE, onComplete);

function onComplete(event:Event):void
{
    var loader:URLLoader = event.target as URLLoader;
    if (loader != null)
    {
        externalXML = new XML(loader.data);
        trace(externalXML.toXMLString());
    }
    else
    {
        trace("loader is not a URLLoader!");
    }
}

要从套接字连接读取 XML 数据,请使用 XMLSocket 类。有关详细信息,请参阅《ActionScript 3.0 语言和组件参考》中的 XMLSocket 条目。


Flash CS3

 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/main/00000127.html