AS3入门 -- 使用 xml

有点小闲,于是决定写写博客,赚赚积分,种种树苗。


接下来,说说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

首先是要加载data.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的知识。

欢迎拍砖。

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念