精通Flex 3.0――4.6.1 创建XML对象

  在ActionScript 3.0中,提供了三种最基本的方法创建XML对象。

q      第一种通过表达式的方式直接建立XML对象。如下代码所示

var flexXML:XML=

<RIA>

         <FlashPlayer>

                   <Flash>Flash CS3</Flash>

                   <Flex>Flex3</Flex>

         </FlashPlayer>

         <Ajax>

                   <GoogleAjax>GoogleAjax1.0</GoogleAjax>

         </Ajax>

</RIA>

注意:使用XML表达式的时候与一般的赋值语句不同。语句结束没有“;”标识符,直接结束。XML字符串也不需要通过引号或者单引号进行限定。

q      第二种方式是通过XML对象的构造函数的方式构建XML对象。如下代码所示。

var flexXMLStr:String="<RIA>"

                    +"<FlashPlayer>"

                    +"<Flash>Flash CS3</Flash>"

                    +"<Flex>Flex3</Flex>"

                    +"</FlashPlayer>"

                    +"<Ajax>"

                    +"<GoogleAjax>GoogleAjax1.0</GoogleAjax>"

                    +"</Ajax>"

                    +"</RIA>";

var flexXML1:XML=new XML(flexXMLStr);

q      第三种方式是通过加载外部XML文件的方式构建XML对象。这种加载的本质其实也是使用构造函数的方式进行加载。XML文件RIA.xml文件内容如下。

<RIA>

         <FlashPlayer>

                   <Flash>Flash CS3</Flash>

                   <Flex>Flex3</Flex>

         </FlashPlayer>

         <Ajax>

                   <GoogleAjax>GoogleAjax1.0</GoogleAjax>

         </Ajax>

</RIA>

可以通过制定RIA.xml文件位置的方式加载该文件内容到XML对象中,。代码如下所示。

var flexXML2:XML;

var flexLoader:URLLoader = new URLLoader();

var flexRequest:URLRequest = new URLRequest("RIA.xml");

function onComplete(event:Event):void

{

         var flexLoader:URLLoader = event.target as URLLoader;

if (flexLoader != null)

{

         flexXML2 = new XML(flexLoader.data);

         trace(flexXML2.toXMLString());

}

else

{

         trace("加载错误!");

}

在上面的代码中加载外部的资源是异步进行的。需要声明一个事件处理机制,通过这个事件监听来响应加载结束XML的事件。

注意:在创建XML对象时,XML内容必须遵循XML的规范。读者可以在www.w3c.org网站上详细察看这个规范。

以上三种方式是最常用的创建XML对象的方法。还会有一些特殊的创建XML对象的方法,例如使用XMLSocket对象构建XML对象。XMLSocket对象会在稍后内容讲解。

创建的XML对象中,有一系列属性和方法进行简单的XML处理。常用属性如表4.5所示。常用方法如表所示。

XML对象常用属性

属性名称

属性分类

属性说明

ignoreComments

注释与说明属性

取值turefalse,表明读取XML时是否忽略注释。

ignoreProcessingInstructions

注释与说明属性

取值turefalse,表明读取XML时是否忽略说明和介绍。

ignoreWhitespace

空白

取值turefalse,表明是否忽略XML内容中,纯粹的空白。

prettyIndent

格式属性

取值truefalse,表明是否输出成字符串时带有缩紧。

prettyPrinting

格式属性

取值truefalse,表明打印输出时有严格的打印格式。

  XML对象常用方法

方法名称

方法分类

方法说明

appendChild

操作节点方法

添加节点到XML对象的尾部。参数为一个XML对象或者XML表达式。

child

操作节点方法

返回XML对象的子节点,参数为子节点的名称

children

操作节点方法

返回XML对象的所有子节点,返回类型为XMLList类型。

elements

操作节点方法

返回XML对象的子节点或者属性,参数为子节点或属性名称。

insertChildAfter

操作节点方法

插入节点到指定节点之后,参数为指定节点。

insertChildBefore

操作节点方法

插入节点到指定节点之前,参数为指定的节点。

parent

操作节点方法

返回当前节点的父节点。

prependChild

操作节点方法

返回当前节点的前一个节点。

attribute

操作属性方法

返回指定的属性,参数为指定的属性名称。

attributes

操作属性方法

返回XML对象的所有属性。

hasComplexContent

内容操作方法

判断当前节点内容是否为复杂内容,返回值为truefalse。复杂内容是指包括有子节点的XML对象。

hasSimpleContent

内容操作方法

判断当前节点内容是否为简单内容,返回指为truefalse。简单内容是指单一的字符串内容。

toString

内容操作方法

XML对象输出为字符串内容。

toXMLString

内容操作方法

输出为XML字符串的内容。

copy

对象操作方法

拷贝XML对象的副本,返回值为当前节点的内容。

valueOf

对象操作方法

返回指定节点内容,不包括节点的表示。

length

对象操作方法

返回当前XML对象下一级节点个数。

在操作XML对象的过程中还会经常使用XMLList对象。XMLList对象的方法与XML对象很像,使用起来具有统一性。XML的整体结构是一个树型结构,所以在使用树型结构的过程中,通过XMLXMLList对象的使用可以达到整体与部分一致的操作。这样,就会使操作XML整体与操作XML对象的一部分一致。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值