package
{
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
/**
* XML
* @author Willien
*/
public class Main extends Sprite
{
//load xml
private var _loader:URLLoader = new URLLoader ;
private var _url:URLRequest = new URLRequest ;
private var xml:XML ;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
XML.ignoreWhitespace = true;
_loader.addEventListener (Event.COMPLETE , onComplete ) ;
_loader.addEventListener (IOErrorEvent.IO_ERROR , onIOError) ;
_url.url = "\init.xml" ;
_loader.load (_url) ;
}
//讀取完成
private function onComplete (event:Event) :void {
//trace ("enter onComplete") ;
xml = new XML (event.target.data) ;
trace (xml) ;
trace ("-------------------------------------------------") ;
/*條件式搜尋*/
//搜尋 xml.third 內的所有資料 屬性 name 為 Willien
var list:XMLList = xml.third.*.(@name == "Willien");
trace (list.toXMLString()) ;
trace ("-------------------------------------------------") ;
trace (list.@name) ;
trace ("-------------------------------------------------") ;
}
//讀取錯誤
private function onIOError (event :IOErrorEvent):void {
trace ("on IOErrorEvent") ;
}
}
}
輸出結果
<test>
<first URL="img/0001.png"/>
<second>
<img URL="img/0011.png"/>
<img URL="img/0012.png"/>
<img URL="img/0013.png"/>
</second>
<third>
<data name="Willien" age="26"/>
<data name="John" age="27"/>
<data name="Eva" age="24"/>
<data name="Mary" age="22"/>
</third>
</test>
-------------------------------------------------
<data name="Willien" age="26"/>
-------------------------------------------------
Willien
XML 搜尋
標籤:
Flash and XML
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言