在刚才的XML的同级目录下新建一FLA文件,然后在场景中放置一TextArea组件。并赋实例名“my_TextArea”,
然后在第一帧中添加如下代码:
var my_XML:XML=new XML();
System.useCodepage=true;
var my_TextArea:mx.controls.TextArea;
my_XML.load("goods.xml")
my_XML.onLoad=function(ok:Boolean){
if(ok){
my_TextArea.text =this;
}else{
my_TextArea.text ="加载失败"
}
}
按CTRL ENTER测试,即可以看效果。
首先,我们来看看如何对XML中的节点名称或者节点属性进行读取呢?
比如,我们要读取如例子中的"购买物品"这几个字符,该如何操作呢?
我们使用如下语句:
this.firstChild.nodeName;
如果要读取"衬衣":
this.firstChild.childNodes[0].nodeName;
如果要读取"1条":
this.firstChild.childNodes[1].childNodes[0].nodeValue;
如果要读取裤子的品牌:
this.firstChild.childNodes[1].attributes.品牌;
将XML读取进LIST组件中:
System.useCodepage = true;
var my_TextArea:mx.controls.TextArea;
var my_List:mx.controls.List;
var my_XML:XML = new XML();
my_XML.ignoreWhite = true;
my_XML.load("shopping.xml");
my_XML.onLoad = function(ok:Boolean) {
if (ok) {
var childnodes = this.firstChild.childNodes;
for (i=0; i<childnodes.length; i ) {
my_List.addItem({label:childnodes.nodeName});
}
} else {
my_TextArea.text = "加载失败";
}
};
第一个节点:firstChild:
用法:this.firstChild;
最后一个节点:lastChild
用法:this.firstChild;
兄弟节点:nextSibling:
用法:this.firstChild.childNodes[0].nextSibling;
另一个兄弟节点:previousSibling:
用法:this.firstChild.childNodes[0].previousSibling;
区别:nextSibling是朝后,而previousSibling是当前之前;
父类节点:parentNode:
用法:this.firstChild.parentNode;
上述所有实例演示:
http://www.taoshaw.com/taoshaw/study/LoadXml/LoadXML.swf
源文件下载:loadXML.rar










