[AS3]as3.0操作xml详细分析原代码示例(2)
XML的外部读取 包括读取外部xml文件,和通过URL读取xml。AS3.0中不像2.0那样集成了一个load()。 AS3.0在架构上就设计了所有与外部打交道的都由URLrequest对象来进行,数据都由URLloader对象来接受。这个我们会在下
XML的外部读取
包括读取外部xml文件,和通过URL读取xml。AS3.0中不像2.0那样集成了一个load()。
AS3.0在架构上就设计了所有与外部打交道的都由URLrequest对象来进行,数据都由URLloader对象来接受。这个我们会在下一部分教程详细讲解。这一次只要知道这样的架构设计是深思熟虑,且简洁优美的即可。
- var myXML:XML = new XML();
- //初始化XML地址,可以是本地的"xxx.xml",也可以是如下的URL地址。
- var XML_URL:String = "http://www.kingda.org/blog/index.xml"; //我的Blog RSS Feed
- var myXMLURL:URLRequest = new URLRequest(XML_URL);
- var myLoader:URLLoader = new URLLoader(myXMLURL);
- //添加装载完成侦听器,
- //Event.COMPLETE的值是"complete",直接用此字符串也可以。
- myLoader.addEventListener(Event.COMPLETE, xmlLoaded);
- function xmlLoaded(evtObj:Event) {
- myXML = XML(myLoader.data);
- trace("数据装载完成.");
- trace (myXML);
- }
XML的操作
1.查询
- //显示level为4的节点的title值
- trace (kingdaXML.item.(level == 4).title);
- //output:Document Class
- //显示level>2的节点的title值,本处结果大于1,所以是一个XML Array。
- trace (kingdaXML.item.(level > 2).title);
- //使用属性用@开头即可。真方便。
- trace (kingdaXML.item.(level > 2).@id);
- //output:23
- //这儿要注意,实际上是2,3。一个Array.
- //也可以用属性来做判断
- trace (kingdaXML.item.(@id > 1).title);
2.添加或者修改属性
方便的不能再方便,直接写即可。爽翻天啊。
- //把id == 1的节点level值改为2
- kingdaXML.item.(@id==1).level = 2;
- //把id==1的节点添加一个属性 page
- kingdaXML.item.(@id==1).page = 100;
- trace (kingdaXML.item.(@id==1));
- 3.按某条件插入节点var newNode1:XML = <item id='2.5'><level>0</level><title>None</title></item>
- var newNode2:XML = <item id='1.5'><level>0</level><title>None</title></item>
- //把newNode1插入到id==2的节点后面
- kingdaXMLkingdaXML = kingdaXML.insertChildAfter(kingdaXML.item.(@id==2), newNode1);
- //把newNode1插入到id==2的节点前面
- kingdaXMLkingdaXML = kingdaXML.insertChildBefore(kingdaXML.item.(@id==2), newNode2);
- trace (kingdaXML);
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...