有点小闲,于是决定写写博客,赚赚积分,种种树苗。
接下来,说说AS3中使用xml
首先来一个xml,命名为data.xml,放在 bin-debug 目录下:
<?xml version="1.0" encoding="UTF-8"?> <data> <item id="1" name="name1" age="1"> <height>180</height> </item> <item id="2" name="name2" age="1"> <height>181</height> </item> <item id="3" name="name3" age="1"> <height>182</height> </item> <item id="4" name="name4" age="1"> <height>183</height> </item> </data>
简单说一下
* 除了第一行是固定的,其他全是随意取名的,诸如:<data/> <item/>等等
* <data/>是根节点
* <item>也是一个节点,视为<data/>节点的 元素
* id,name,age等,视为<item/>节点的 属性
* height 等,视为 <item/>节点的 元素
* 以上个人理解,关于节点、元素、属性等名词可能不准确,只是个人理解
------------以上是将要用到的xml文件及内容, 接下来,给出简单的as3代码,来使用刚刚定义的xml
* 再次提醒一下,该文件要放在bin-debug目录下
以下是AS3代码:
private function loadXMLFile():void { var urlRequest:URLRequest = new URLRequest("data.xml"); var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE,onLoadXMLComplete); loader.load(urlRequest); } private function onLoadXMLComplete(evt:Event):void { var str:String = String(evt.target.data); processXML_1(str); } private function processXML_1(str:String):void { var xml:XML = new XML(str); for each(var item:XML in xml.item) { trace("id= " + int(item.@id) + ",name=" + String(item.@name) + ",age="+ int(item.@age)+",height=" + item.height); } }
* loadXMLFile() 是读取文件
* 当文件读完之后,如果一切顺利会执行 onLoadXMLComplete 函数
* processXML_1 函数,注意 item.@id 与 item.height 的区别,少了一个@符号。这也就是刚开始 要说 元素与属性的 目的, 可以看到在访问他们的时候是有区别的。item.@id 这是访问节点的属性, item.height 是访问节点的元素。
id= 1,name=name1,age=1,height=180 id= 2,name=name2,height=181 id= 3,name=name3,height=182 id= 4,name=name4,height=183
好了,简单的介绍了一下AS3读取xml的知识。
欢迎拍砖。