<? xml version="1.0" encoding="utf-8" ?> < mx:Application xmlns:mx ="http://www.adobe.com/2006/mxml" layout ="absolute" creationComplete ="initApp()" > < mx:Script > <![CDATA[ //方法一:定义XML数据 private var myData:XML = <items> <item type="流行音乐"> <song>aaaaaaaa</song> </item> <item type="古典音乐"> <song>bbbbbbbb</song> </item> <item type="乡村音乐"> <song>cccccccc</song> </item> </items>; //初使化程序,解析XML internal function initApp():void{ //输出XML数据的原始信息,使用toXMLString方法,自动格式化XML数据 TxtSource.text=myData.toXMLString(); output("方法一:输出XML语言的节点"); output("节点数目"+myData..item.length());//得到item节点的总数量 ..符号访问子节点,这里得到所有节点名为“item”的子节点 for(var prop:String in myData..item){ var node:XML=myData..item[prop]; output("节点:"+prop); output("属性名:"+String(node.@type)); //@符号表示访问节点的属性 output("子节点:"+node.song); output("------------"); } output("方法二:输出XML语言的节点"); output("节点数目"+myData.child("item").length());//得到item节点的总数量 for(var prop:String in myData.child("item")){ //myData.child("item")表示得到所有节点名为item的数据 var node:XML=myData.child("item")[prop]; output("节点:"+prop); output("属性名:"+node.attribute("type")); //得到所有名为"type"的属性 output("子节点:"+node.child("node")); output("------------"); } output("方法三:以XMLList形式返回所有的子节点"); output(myData.children()); output("------------"); //XML实现节点和属性过滤,利用这个功能可以对数据进行快速查找和定位 output(myData.child("item").(@type=="流行音乐")); //查找item节点下属性为"流行音乐"的节点 output("------------"); output(myData.child("item").(song != "bbbbbbbb").song); //查找item节点下的“song”节点值不是"bbbbbbbb"的节点 output("------------"); } internal function output(str:String):void{ TxtOutput.text +=str +" "; } ]]> </ mx:Script > <!-- 方法二:用<mx:XML>标签定义XML数据 --> < mx:XML id ="myData1" > < items > < item type ="流行音乐" > < song > aaaaaaaa </ song > </ item > < item type ="古典音乐" > < song > bbbbbbbb </ song > </ item > < item type ="乡村音乐" > < song > cccccccc </ song > </ item > </ items > </ mx:XML > < mx:Panel x ="24" y ="10" width ="340" height ="308" layout ="absolute" title ="原始XML数据" > < mx:TextArea x ="10" y ="10" height ="248" width ="301" id ="TxtSource" /> </ mx:Panel > < mx:Panel x ="387" y ="10" width ="334" height ="308" layout ="absolute" title ="输出解析信息" > < mx:TextArea x ="10" y ="10" height ="248" width ="294" id ="TxtOutput" /> </ mx:Panel > </ mx:Application >