将属性的XML解析成对象数组列表

本文介绍了一个基于ActionScript的XML解析器类,该类继承自EventDispatcher并利用URLLoader加载XML文件。解析完成后,它会派发PARSE事件并将解析的数据作为事件属性传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package utils {
    import flash.events.Event;
    import flash.events.EventDispatcher;
    import flash.net.URLLoader;     

    /**
     * @author Flying
     */

    public class XMLParser extends EventDispatcher {

        public var parsedData : Array;
        public static  const PARSE : String = "parse";

        /**
         * @param loader 加载器
         */

        public function XMLParser(loader : URLLoader) {
            loader.addEventListener(Event.COMPLETE, completeHandler);
        }

        public function completeHandler(event : Event) : void {
            var item_xmlList : XMLList = XML(URLLoader(event.target).data).children();
            var xmlObj_array : Array = new Array();
            var item_xml : XML;
            for each (item_xml in item_xmlList) {
                var tempObj : Object = new Object();
                var node : XML;
                for each (node in item_xml.attributes()) {
                    //用localName方法获取XML对象的限定名称
                    var obj : Object = node.localName();
                    tempObj[obj] = item_xml.@[obj];
                }
                xmlObj_array.push(tempObj);
            }
            parsedData = xmlObj_array;
            dispatchEvent(new Event(XMLParser.PARSE));
        }
    }
}

此类基于EventDispatcher类,构造时以URLLoader对象作为参数,当XML解析完后会派发PARSE事件,并将得到的对象数组列表作为事件对象的属性传递。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值