Flash 读取 xml 是 Flash 编程必学的一课
作者:parno 日期:2009-11-17
其实 Flash 读 xml 很简单的。
下面用 as2 简易描述下:
一、建立XML对象:
复制内容到剪贴板
程序代码
![程序代码](images/code.gif)
var myXML = new XML();
二、引用XML文件:
复制内容到剪贴板
程序代码
![程序代码](images/code.gif)
myXML.load("data.xml");
三、忽略空格:
复制内容到剪贴板
程序代码
![程序代码](images/code.gif)
myXML.ignoreWhite = true; //默认的为false
四、处理XML对象的函数:
复制内容到剪贴板
程序代码
![程序代码](images/code.gif)
myXML.onLoad = function(success) {
statements;
}
statements;
}
五、data.XML文件的内容
![引用内容](images/quote.gif)
xiaoshandong
xiaoshandong3
六、返回值实例
1、myXML.childNodes[0] 将返回:
![引用内容](images/quote.gif)
xiaoshandong
xiaoshandong3
2、myXML.childNodes[0].nodeName 将返回:
![引用内容](images/quote.gif)
data1
3、myXML.childNodes[0].childNodes[0].name 将返回:
![引用内容](images/quote.gif)
imagebear
4、myXML.childNodes[0].childNodes[0] 将返回:
![引用内容](images/quote.gif)
xiaoshandong
5、myXML.childNodes[0].childNodes[0].nodeName 将返回:
![引用内容](images/quote.gif)
data2
6、myXML.childNodes[0].childNodes[1].attributes.name 将返回:
![引用内容](images/quote.gif)
mariger3
7、myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue 将返回:
![引用内容](images/quote.gif)
xiaoshandong
8、
复制内容到剪贴板
程序代码
![程序代码](images/code.gif)
var myName = myXML.firstChild.firstChild;
trace(myName.nodeName); //将输出 data2
myName = myName.nextSibling;
trace(myName.nodeName); //将输出 data3childNodes[0] 等价于 firstChild
trace(myName.nodeName); //将输出 data2
myName = myName.nextSibling;
trace(myName.nodeName); //将输出 data3childNodes[0] 等价于 firstChild
七、附:测试用的代码
复制内容到剪贴板
程序代码
![程序代码](images/code.gif)
var myXML = new XML();
myXML.load("data.xml");
myXML.ignoreWhite = true;
myXML.onLoad = function(success) {
if(success) {
//myArray = myXML.childNodes[0];
//trace(myArray.attributes.name);
//trace(myXML.childNodes[0].childNodes[1].firstChild.nodeValue);
//trace(myXML.firstChild);
//trace(myXML.childNodes[0].nodeName);
//trace(myXML.firstChild.attributes.name);
//trace(myXML.childNodes[0].childNodes[1].nodeName);
//trace(myXML.childNodes[0].childNodes[1].attributes.name);
//trace(myXML.firstChild.firstChild);
//trace(myXML.firstChild.firstChild.nodeName);
//trace(myXML.firstChild.firstChild.attributes.name);
//trace(myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue);
var myName = myXML.firstChild.firstChild;
trace(myName.nodeName);
myName = myName.nextSibling;
trace(myName.nodeName);
}
};
myXML.load("data.xml");
myXML.ignoreWhite = true;
myXML.onLoad = function(success) {
if(success) {
//myArray = myXML.childNodes[0];
//trace(myArray.attributes.name);
//trace(myXML.childNodes[0].childNodes[1].firstChild.nodeValue);
//trace(myXML.firstChild);
//trace(myXML.childNodes[0].nodeName);
//trace(myXML.firstChild.attributes.name);
//trace(myXML.childNodes[0].childNodes[1].nodeName);
//trace(myXML.childNodes[0].childNodes[1].attributes.name);
//trace(myXML.firstChild.firstChild);
//trace(myXML.firstChild.firstChild.nodeName);
//trace(myXML.firstChild.firstChild.attributes.name);
//trace(myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue);
var myName = myXML.firstChild.firstChild;
trace(myName.nodeName);
myName = myName.nextSibling;
trace(myName.nodeName);
}
};
[本日志由 parno 于 2010-03-15 02:47 AM 编辑]
![](images/Cprevious.gif)
![](images/Cnext.gif)
![](images/From.gif)
![](images/icon_trackback.gif)
![](images/tag.gif)
![](images/notify.gif)
评论: 0 | 引用: 0 | 查看次数: 7739
发表评论