【flash as2读取分析xml文档概要:[www.eb163.com]]/domain pr3/pr /site site name![CDATA[蓝色理想]]/name domain![CDATA[www.blueidea.com]]/domain pr6/pr /site site name![CDATA[闪吧]]/name domain![CDATA[www.flash8.net]]/domain pr6/pr /site site name![CDATA[程序员]]/name domain![CDATA[ww...】
首先建立一个xml文档,使用utf-8编码(防止出现flash读取是中文乱码),取名为getdata.xml。
xml文件:getdata.xml
CODE: <?xml version="1.0" encoding="utf-8" ?>
<sites>
<site>
<name><![CDATA[WEB编程站]]></name>
<domain><![CDATA[www.eb163.com]]></domain>
<pr>3</pr>
</site>
<site>
<name><![CDATA[蓝色理想]]></name>
<domain><![CDATA[www.blueidea.com]]></domain>
<pr>6</pr>
</site>
<site>
<name><![CDATA[闪吧]]></name>
<domain><![CDATA[www.flash8.net]]></domain>
<pr>6</pr>
</site>
<site>
<name><![CDATA[程序员]]></name>
<domain><![CDATA[www.csdn.net]]></domain>
<pr>6</pr>
</site>
</sites>
使用flash as2 实现最简单的读取:
[Copy to clipboard] [ - ] CODE: this.createTextField("my_txt", 10, 10, 10, 320, 100); //建立flash的文本对象 并设置文本对象的相关属性
my_txt.autoSize = "left";
my_txt.border = true;
my_txt.multiline = true;
my_txt.wordWrap = true;
var sites_xml:XML = new XML(); //建立xml对象
sites_xml.ignoreWhite = true;
sites_xml.onLoad = function (success:Boolean):Void { //当数据加载成功时执行下面的函数代码
if (success) {
var childItems:Array = sites_xml.firstChild.childNodes; //取得根对象的所有子节点
for (var i:Number = 0; i < childItems.length; i++) {
my_txt.text += childItems[i].firstChild.firstChild.nodeValue + "n"; //拼接子节点的子节点的第一个值
}
} else {
my_txt.text = "Unable to load external file.";
}
}
【flash as2读取分析xml文档(2)概要:lNode的属性只有firstChild和lastChild,其他的节点的值应该怎样输出呢? [Copy to clipboard] [ - ]CODE:this.createTextField(my_txt, 10, 10, 10, 320, 100); //建立flash的文本对象 并设置文本对象的相关属性 my_txt.autoSize = left; ...】
sites_xml.load("getdata.xml"); //加载xml数据
输出:
[Copy to clipboard] [ - ] CODE: WEB编程站
蓝色理想
闪吧
程序员
读出并显示了getdata.xml每个节点的第一个子节点的值。
那么,怎样才能读取全部的子节点呢,xmlNode的属性只有firstChild和lastChild,其他的节点的值应该怎样输出呢?
[Copy to clipboard] [ - ] CODE: this.createTextField("my_txt", 10, 10, 10, 320, 100); //建立flash的文本对象 并设置文本对象的相关属性
my_txt.autoSize = "left";