快速业务通道

Flash AS与XML数据交互

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-07

在AS3里,对XML的控制变得非常方便了,有用过AS2的读者都知道,如果我们用AS2去访问一个节点,做法是xmlObj.firstChild.childNodes[2]如果复杂的XML结构就更麻烦了,所以在AS2时需要把一系统的节点用一个值来先做“替身”即xmlList= xmlObj.firstChild.childNodes来降底程序的复杂程序。 AS3里使用E4X(ECMAScript for XML)来规范定义组用于处理 XML 数据的类和功能。E4X 类的方法、属性和运算符实现以下便利: · 简单:在可能的情况下,使用 E4X 可以更容易地编写和理解用于处理 XML 数据的代码。 · 一致:E4X 背后的方法和推理在内部是一致的,并与 ActionScript 的其它部分保持一致。 · 熟悉:使用众所周知的运算符来处理 XML 数据,如点 (.) 运算符。 E4X 类有包括XML、XMLList、QName 和 Namespace。下面我们来看看XML类,如何创建修改XML文件。 11.3.1 声明XML对象 XML 对象可能表示 XML 元素、属性、注释、处理指令或文本元素。 声明一个XML对象基本语法如下:
var xml:XML=new XML(<myxml>xml文件</myxml>)
使用new XML()创建XML对象,AS3声明XML对象比较灵活了,XML对象里的内容可以用引号也可以像上面的代码不使用引号。更直接的声音方式直接赋值,只要XML结构是正确的就行,如下:
var xml= <myxml> <item id=''1''> <menuName>burger</menuName> <price>3.95</price> </item> </myxml> trace(xml.toXMLString())
第8行,使用对象的toXMLString()方法输出xml,这个方法要和toString()区分开来,还有一个是输出XML文本结点的方法text(),我们先来区分一下这三个方法,便于我们后面的学习。 范例如下:
var xml:XML= <body> text1 <bar>barText1</bar> <bar>barText1</bar> text2 </body> trace(xml.text());//输出:text1text2 trace(xml.text()[0]);//输出:text1 trace(xml.text()[1]);//输出: text2 trace(xml.child(1).toXMLString());//输出:<bar>barText1</bar> trace(xml.child(1).toString());//输出:barText1
Ø toXMLString()方法:始终返回XML 对象的开始标签、属性和结束标签的字符串型式。 toString()方法:只是按字符串形式返回节点的内容。 text()方法:则是返回XML 文本节点的所有 XML 属性的 XMLList 对象,上面的例子,有两个文本节点text1和text2。 11.3.2 XML节点访问 存取节点是使用XML对象的基础,要用好XML先要掌握管理XML类的方法,XML类提供了以下各管理节点的方法。 Flash AS与XML数据交互 1.访问XML各节点。 在学习访问XML节点前,要先弄明白XML各层次的关系后面,要使用这个层级与节点编号来访问不同位置的节点。 虽然我们看来,“<item>text1<item>”只是一段包含<item>卷标元素的字符串而以,但是经过 Flash 内部的XML解析器处理后,XML里的每个元素都会被展现成树状的层级结构,各层之间都存在规律性的编号。我们把下面的代码分解如图11-12所示。
var xml:XML= <myxml> <item> <pro>proText</pro> </item> <item>text1</item> <item>text2</item> </myxml>

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号