- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AS3中新的XML处理方法
?AS3中新的XML处理方法 - E4X收藏
新一篇:?面向对象方法?|?旧一篇:?AS3中的正则表达式
AcriontScript之前的版本(从Flash 5中的ActionScript开始)有一些处理XML数据的类和方法,但是它们并不是基于ECMAScript标准的。
新的ECMA脚本语言规范第4版草稿中定义了一系列新的处理XML数据的类和方法。这些类和方法的集合并命名为E4X(ECMAScript for XML),ActionScript 3.0包括如下新的E4X类: XML、XMLList、 QName和Namespace。
E4X类的方法、属性和操作的开法基于以下的目标:
简单--E4X尽可能的使得处理XML数据的代码容易编写并且易于理解。
一致性--E4X的方法于Actionscript的其它部分协调一致。
友好--实用非常好理解的操作符处理XML数据,如点号(.)。
注意:为避免与E4X中的新的XML类冲突,原来ActionScript 2.0中的XML类在ActionScript 3.0被重命名为XMLDocument,为了向前兼容,在ActionScript 3.0中遗留下来的类--XML、XMLNode、XMLParser和XMLTag--被包含进了flash.xml包中。新的E4X类是核心类--使用它们不需要import任何包。
初始化XML对象
XML对象可以代表一个XML元素、属性、注释、处理指令或文本元素。在ActionScript 3.0中我们可以直接将XML数据赋值给变量:
var myXML:XML =orderitem id=1menuNameburger/menuNameprice3.95/price/itemitem id=2menuNamefries/menuNameprice1.45/price/item/order
你也可以使用new 构造器来从XML数据文本创建一个XML对象实例:
var myXML:XML = new XML(orderitem id=1menuNameburger/menuNameprice3.95/price/item/order)
如果XML数据不是格式完好的(如少了结束标签),那么将会出现运行时错误。
注意,你也可以将变量实例传入XML数据中:
var tagname:String = item;var attributename:String = id;var attributevalue:String = 5;var content:String = Chicken;var x:XML = {tagname} {attributename}={attributevalue}{content}/{tagname};trace (x.toXMLString())// Output: item id=5Chicken/item
通常,我们的应用是从外部源导入XML数据,如web service或RSS feed,以下是一个从远程URL导入XML数据的例子:
var myXML:XML = new XML();var XML_URL:String = /Sample3.xml;//创建URLRequest。var myXMLURL:URLRequest = new URLRequest(XML_URL);//使用URLLoader导入数据。var myLoader:URLLoader = new URLLoader(myXMLURL);//添加事件监听器,以在XML数据导入完成后处理XML数据。myLoader.addEventListener(complete, xmlLoaded);//导入完成后,创建使用导入的数据创建XML对象function xmlLoaded(evtObj:Event) {var myXML:XML = XML(myLoader.data);trace(Data loaded.);}
为了演示代码的清晰性,本文中的大部份示例都第1种直接使用文本的方法创建XML对象。
E4X包含一些直观的方法XML数据的操作符(如.和@:用于访问属性):
//获取第1个item的menuName值trace(myXML.item[0].menuName); // Output: burger//获取第1个item的id属性值trace(myXML.item[0].@id);//Output:1//获取id属性为2的item的menuName值trace(myXML.item.(@id==2).menuName); // Output: fries//获取menuName为burger的item的price值trace(myX
文档评论(0)