<?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>