Flash读取XML
2008-04-22 13:38
155 查看
一、使用系统编码.防止乱码:
System.useCodepage=true;
二、建立XML对象:
var myXML:XML= new XML();
三、引用XML文件:
myXML.load("data.xml");
四、忽略空格:
myXML.ignoreWhite = true;//默认的为false
五、处理XML对象的函数:
myXML.onLoad = function(success)
{
statements;
}
五、data.xml文件的内容:
<data1 name="imagebear">
<data2 name="mariger">xiaoshandong</data2>
<data3 name="mariger3">xiaoshandong3</data3>
</data1>
六、返回值实例
1、myXML.childNodes[0]将返回:
<data1 name="imagebear">
<data2 name="mariger">
xiaoshandong
</data2>
<data3 name="mariger3">
xiaoshandong3
</data3>
</data1>
2、myXML.childNodes[0].nodeName将返回:
data1
3、myXML.childNodes[0].childNodes[0].name将返回:
imagebear
4、myXML.childNodes[0].childNodes[0]将返回:
<data2 name="mariger">
xiaoshandong
</data2>
5、myXML.childNodes[0].childNodes[0].nodeName将返回:
data2
6、myXML.childNodes[0].childNodes[1].attributes.name将返回:
mariger3
7、myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue将返回:
xiaoshandong
8、var myName = myXML.firstChild.firstChild;
trace(myName.nodeName);将输出data2
myName = myName.nextSibling;
trace(myName.nodeName);将输出data3
childNodes[0]等价于firstChild
七、测试用的代码,XML文件如上所示
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);
}
}
代码运行的输出结果是:
data2
data3
测试用例2:
//xml-004.fla.
//使用系统编码.防止乱码.
System.useCodepage = true;
//实例化一个xml对象.
var myxml:XML = new XML();
//分析时忽略xml文档中的空格.
myxml.ignoreWhite = true;
//加载xml-004.xml文档.
myxml.load("xml-004.xml");
//调用XML.onLoad事件.
myxml.onLoad = function(success:Boolean)
{
//如果加载成功,success=true;否则success=false;
if (success) {
trace("加载成功!");
//用一个数组来引用顶层节点中子级节点的数组.
var child_arr:Array = myxml.firstChild.childNodes;
//这个for遍历的是顶层节点下的子级节点.
for (var i = 0; i<child_arr.length; i++) {
//将歌曲添加到List组件中.
//child_arr[i].firstChild.nodeValue这个是xml节点的节点值.
//child_arr[i].attributes.path这个是xml节点下的path属性.
mp3_list.addItem({label:(i+1)+"."+child_arr[i].firstChild.nodeValue, data:child_arr[i].attributes.path});
}
} else {
trace("加载失败!");
}
};
//listEvent函数是执行List组件中change事件
function listEvent():Void
{
//这个就是歌曲地址.用Sound类的loadSound方法就可以播放歌曲了.例:mysound.loadSound(mp3_list.selectedItem.data);详细请看帮助文档.
trace(mp3_list.selectedItem.data);
}
//添加帧听器.
mp3_list.addEventListener("change", listEvent);
xml-004.xml
<?xml version="1.0" encoding="gb2312"?>
<!--xml-004.xml-->
<mp3List>
<mp3 path="jmzcg.mp3">啊桑-寂寞在唱歌</mp3>
<mp3 path="jmjywsls.mp3">寂寞是因为思念谁</mp3>
<mp3 path="szwspdxd.mp3">老狼-睡在我上铺的兄弟</mp3>
<mp3 path="qf.mp3">誓言-求佛</mp3>
<mp3 path="xyzth.mp3">下一站天后</mp3>
<mp3 path="nswdxfm.mp3">伊能静-你是我的幸福吗</mp3>
<mp3 path="aqfx.mp3">爱情复兴(容祖儿)</mp3>
<mp3 path="qrlg.mp3">水木年华-秋日恋歌</mp3>
<mp3 path="qnyh.mp3">张国荣-倩女幽魂</mp3>
<mp3 path="a.mp3">一首很棒的英文歌(酒吧里常放)</mp3>
</mp3List>
System.useCodepage=true;
二、建立XML对象:
var myXML:XML= new XML();
三、引用XML文件:
myXML.load("data.xml");
四、忽略空格:
myXML.ignoreWhite = true;//默认的为false
五、处理XML对象的函数:
myXML.onLoad = function(success)
{
statements;
}
五、data.xml文件的内容:
<data1 name="imagebear">
<data2 name="mariger">xiaoshandong</data2>
<data3 name="mariger3">xiaoshandong3</data3>
</data1>
六、返回值实例
1、myXML.childNodes[0]将返回:
<data1 name="imagebear">
<data2 name="mariger">
xiaoshandong
</data2>
<data3 name="mariger3">
xiaoshandong3
</data3>
</data1>
2、myXML.childNodes[0].nodeName将返回:
data1
3、myXML.childNodes[0].childNodes[0].name将返回:
imagebear
4、myXML.childNodes[0].childNodes[0]将返回:
<data2 name="mariger">
xiaoshandong
</data2>
5、myXML.childNodes[0].childNodes[0].nodeName将返回:
data2
6、myXML.childNodes[0].childNodes[1].attributes.name将返回:
mariger3
7、myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue将返回:
xiaoshandong
8、var myName = myXML.firstChild.firstChild;
trace(myName.nodeName);将输出data2
myName = myName.nextSibling;
trace(myName.nodeName);将输出data3
childNodes[0]等价于firstChild
七、测试用的代码,XML文件如上所示
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);
}
}
代码运行的输出结果是:
data2
data3
测试用例2:
//xml-004.fla.
//使用系统编码.防止乱码.
System.useCodepage = true;
//实例化一个xml对象.
var myxml:XML = new XML();
//分析时忽略xml文档中的空格.
myxml.ignoreWhite = true;
//加载xml-004.xml文档.
myxml.load("xml-004.xml");
//调用XML.onLoad事件.
myxml.onLoad = function(success:Boolean)
{
//如果加载成功,success=true;否则success=false;
if (success) {
trace("加载成功!");
//用一个数组来引用顶层节点中子级节点的数组.
var child_arr:Array = myxml.firstChild.childNodes;
//这个for遍历的是顶层节点下的子级节点.
for (var i = 0; i<child_arr.length; i++) {
//将歌曲添加到List组件中.
//child_arr[i].firstChild.nodeValue这个是xml节点的节点值.
//child_arr[i].attributes.path这个是xml节点下的path属性.
mp3_list.addItem({label:(i+1)+"."+child_arr[i].firstChild.nodeValue, data:child_arr[i].attributes.path});
}
} else {
trace("加载失败!");
}
};
//listEvent函数是执行List组件中change事件
function listEvent():Void
{
//这个就是歌曲地址.用Sound类的loadSound方法就可以播放歌曲了.例:mysound.loadSound(mp3_list.selectedItem.data);详细请看帮助文档.
trace(mp3_list.selectedItem.data);
}
//添加帧听器.
mp3_list.addEventListener("change", listEvent);
xml-004.xml
<?xml version="1.0" encoding="gb2312"?>
<!--xml-004.xml-->
<mp3List>
<mp3 path="jmzcg.mp3">啊桑-寂寞在唱歌</mp3>
<mp3 path="jmjywsls.mp3">寂寞是因为思念谁</mp3>
<mp3 path="szwspdxd.mp3">老狼-睡在我上铺的兄弟</mp3>
<mp3 path="qf.mp3">誓言-求佛</mp3>
<mp3 path="xyzth.mp3">下一站天后</mp3>
<mp3 path="nswdxfm.mp3">伊能静-你是我的幸福吗</mp3>
<mp3 path="aqfx.mp3">爱情复兴(容祖儿)</mp3>
<mp3 path="qrlg.mp3">水木年华-秋日恋歌</mp3>
<mp3 path="qnyh.mp3">张国荣-倩女幽魂</mp3>
<mp3 path="a.mp3">一首很棒的英文歌(酒吧里常放)</mp3>
</mp3List>
相关文章推荐
- flash读取xml中的html格式应用CDATA
- Flash读取xml奥秘
- flash+ashx读取xml中文乱码解决方法
- 简述在FLASH读取XML的数据(转)
- flash读取XML
- flash读取XML文件
- flash读取外部xml配置文件基本方法
- 今天和朋友发现一个flash读取xml的权限问题
- FLASH读取XML中的内容
- flash读取外部xml配置文件基本方法
- 解决flash跨域读取XML的问题
- Flash读取XML的一些方法
- 每天学习flash一点(3) flash外部读取xml
- [XML系列]Flash读取XML数据
- [原创]flash as2读取分析xml文档
- jsp中flash读取xml路径问题
- 我学Flash/Flex(2):AS3读取XML文件内容
- 【AS3】Flash读取XML内容的方法(附加载一个视频的例子)
- 每天学一点flash(63) 读取xml后的简单分页处理
- 每天学习flash一点(3) flash外部读取xml