Flash AS3教程:使用运算符操作XML数据

http://www.webjx.com/  2010-03-21 07:20:26  来源:闪吧BBS 作者:雨菲

Webjx核心提示:FLASH AS3 XML的应用.

在AS3中,XML数据类型是AS3的内置数据类型,XML对象有自己的运算符。通过AS3的核心类XML类和XMLLIST类来实现XML的操作。XML的空间命名由QName和Namespace联合来实现的。
AS3保留了以前版本中对XML的处理API,将它们移到了flash.xml包中。以前AS2中的XML类改名为XMLDocument。
在AS3中创建XML对象有两种方式:一种是使用构造函数;另一种是使用XML文本。
使用运算符操作XML数据:

1、使用“.”和“@”直接访问、修改、创建和删除XML对象

将XML对象看作是一个与XML文档结构相同的对象。使用“.”号来访问各个层级的子元素,使用“@”号来访问各个元素的属性。同名的子元素成为一个XMLLIST对象,是XML对象的一个集合,可以使用数组访问符“[]”访问。

2、使用“.”和“@”直接修改XML对象

只有单个的元素才可以使用“.”和“@”来修改;如果有同名的子元素存在,则返回
的对象是XMLLIST对象,而不是单个的XML对象,不能使用“.”和“@”来修改,会发生运行时错误。

3、使用“.”和“@”直接添加和删除子元素和属性

XML类是一个动态类,使用“.”和“@”在XML对象上添加子元素和属性。
删除一个子元素或属性使用delete关键字。

4、搜索XML子元素和属性

使用双点号访问当前元素的所有子元素;
使用通配符*访问;
使用表达式指定查找子元素的条件;
使用表达式指定查找属性的条件。

5、使用正则表达式或自定义函数搜索XML子元素和属性
6、用API实现的一些常用XML操作

appendChild(child:Object):XML   在当前子元素列表之后添加。
prependChild(value: Object):XML   在当前子元素列表之前添加。
insertChildAfter(child1: Object, child2: Object):*  在子元素child1之后添加。
insertChildBefore(child1: Object, child2: Object):*  在子元素child1之前添加。
containa()对比该XML对象与给定value参数。
elements()列出某XML对象的元素。
XML.ignoreComments=false    不忽略XML注释
XML.ignoreProcessingInstructions=false    不忽略XML指令

7、XML的命名空间

XML类包含用于处理命名空间的以下方法:
addNamespace()
removeNamespace()
localName()
name()
namespace()
inScopeNamespaces()
namespaceDeclarations()
setLocalName()
setName()
setNamespace()

8、XML 对象与XMLList对象

  XML对象可以表示XML元素、属性、注释、处理指令或文本元素。它可为两类:“简单内容”XML 对象和“复杂内容”XML 对象。有子节点的XML对象属于“复杂内容”的一类;没有子节点的XML对象,只有属性、注释、处理指令或文本节点之中的任何一个,属于“简单内容”的一类。
  XMLList对象可以表示一个或多个XML对象或元素。XMLList类中包含用于处理一个或多个XML元素的方法。
更多