bing_jie - 2008-5-7 17:41:00
package com.util{
import flash.events.*;
import flash.net.*;
import flash.system.System;
public class XMLParse extends EventDispatcher {
private var panos:Array;
private var buttons:Array;
private var params:Array;
private var viewers:Array;
private var loadings:Array;
public function XMLParse() {
System.useCodePage = true;
return;
}// end function
private function onLoaded(param1:Event):void {
var onLoader:XML;
onLoader = XML(param1.target.data);
onLoader.ignoreWhite = true;
onLoader.ignoreComments = true;
parseData(onLoader);
return;
}// end function
public function getPanos():Array {
return this.panos;
}// end function
public function getButtons():Array {
return this.buttons;
}// end function
public function load(param1:String):void {
var UR:URLRequest;
var UL:URLLoader;
UR = new URLRequest(param1);
UL = new URLLoader(UR);
UL.dataFormat = URLLoaderDataFormat.BINARY;
UL.addEventListener(Event.COMPLETE, onLoaded);
return;
}// end function
public function getViewers():Array {
return this.viewers;
}// end function
public function getLoadings():Array {
return this.loadings;
}// end function
public function getParams():Array {
return this.params;
}// end function
private function parseData(param1:XML):void {
trace("parseData")
var view:XML;
var vload:XML;
var sce:XML;
var but:XMLList;
var butL:Number;
var vn:Number;
var viewc:Number;
var vloadc:String;
var scec:String;
var newa:Array;
var currX:XML;
var currX13:String;
viewers = new Array();
for each (view in param1.viewer.*) {
// label
viewc = view.children();
viewers.push(viewc);
}// end of for each ... in
loadings = new Array();
for each (vload in param1.loading.*) {
// label
vloadc = vload.children();
loadings.push(vloadc);
}// end of for each ... in
params = new Array();
for each (sce in param1.scene.params.*) {
// label
scec = sce.children();
params.push(scec);
}// end of for each ... in
panos = new Array();
panos.push(param1.scene.panos.toString());
buttons = new Array();
//getPanos()
but = param1.toolbar.button;
butL = but.length();
vn = 0;
trace("parseXMLOer")
dispatchEvent(new Event("ParseXMLOver"));
while (vn++ < butL) {
//)// label
newa = new Array();
//
for each (currX in but[vn].*) {//就是这里了,是数组问题吗?
// label
currX13 = currX.children();
newa.push(currX13);
}// end of for each ... in
buttons.push(newa);
}// end while
return;
}// end function
}
}
红字造成错误。请高手帮忙看看。如何改正。谢谢了