加载XML文件前,首先创建URLLoader对象,然后以Text方式加载XML文档。由于URLLoader对象会将文本中的内容以字符串形式保存在data属性中,所以只要利用XML的构造函数,就可以解析该字符串,并产生所需的XML对象。
下面的代码加载一个外部的XML文件,该XML文件名为“xsample.xml”,保存在SWF的同级目录中。
// xsample.xml
<A id='imglink' src='napa.jpg'>click to view the Pix</A>
//FLA
//创建XML对象
var myXML:XML = new XML();
//XML文件地址
var XML_URL:String = "xsample.xml";
var myXMLURL:URLRequest = new URLRequest(XML_URL);
//加载XML文件
var myLoader:URLLoader = new URLLoader(myXMLURL);
//侦听加载完成
myLoader.addEventListener("complete", xmlLoaded);
//加载完成侦听函数
function xmlLoaded(event:Event):void
{
myXML = XML(myLoader.data);
trace("Data loaded.");
trace(myXML.toString());
}
代码的输出为:
//Data loaded.
//click to view the Pix
以上代码为了清晰的说明加载的步骤,采用了较为繁琐的编程风格,其实,XML的加载可以极其简单:
var x:XML;
(new URLLoader(new URLRequest("xsample.xml"))).addEventListener("complete", xl);
function xl(et:Event):void
{
x = XML(et.target.data);
}
不要为这段代码使用Flash CS3的代码格式自动套用。格式套用不能处理如此精简的代码,会发生格式错误。