精通Flex 3.0――4.6.4 访问XML属性

  在XML文档中,有一部分数据是以节点属性的方式存在的。在使用XML对象过程中,除了使用节点之外,对于XML节点属性的访问也由为重要。ActionScript 3.0同样提供了一系列对于XML属性的访问方法。

ActionScript 3.0中,最基本的访问XML节点属性的方式就是使用“@”操作符。可以通过“@”操作符加属性名称的方式直接访问节点的属性。如下代码所示。

var flexXML:XML=<RIA>

         <FlashPlayer version=”9”>

                   <Flash version=”9”>Flash CS3</Flash>

                   <Flex version=”3”>Flex3</Flex>

         </FlashPlayer>

         <Ajax>

                   <GoogleAjax>GoogleAjax1.0</GoogleAjax>

         </Ajax>

</RIA>

trace(flexXML.FlashPlayer.@version);                                                      //输出“9

trace(flexXML.FlashPlayer.Flash.@version);                                           //输出“9

trace(flexXML.FlashPlayer.Flex.@version);                                              //输出“3

在访问属性的时候也可以通过“*”操作符与“@”组合使用进行属性的访问。“*”操作符代表所有的属性。使用方式如下代码所示。

var flexXML:XML=<RIA>

         <FlashPlayer version=”9” company=”adobe” year=”2007”>

                   <Flash version=”9”>Flash CS3</Flash>

                   <Flex version=”3”>Flex3</Flex>

         </FlashPlayer>

         <Ajax>

                   <GoogleAjax>GoogleAjax1.0</GoogleAjax>

         </Ajax>

</RIA>

trace(flexXML.FlashPlayer.@*.toXMLString());                           

由于访问了多个属性,所以会输出多个值。上面代码的输出值如下所示。

9

adobe

2007

与访问节点一样,也可以通过XML类内建的函数进行属性的访问。ActionScript 3.0中,XML类提供了attributeattributes两个方法进行对属性的访问。使用attribute的方式进行访问时,也可以通过“*”操作符进行对多个属性的访问。如下代码所示。

var flexXML:XML=<RIA>

         <FlashPlayer version=”9” company=”adobe” year=”2007”>

                   <Flash version=”9”>Flash CS3</Flash>

                   <Flex version=”3”>Flex3</Flex>

         </FlashPlayer>

         <Ajax>

                   <GoogleAjax>GoogleAjax1.0</GoogleAjax>

         </Ajax>

</RIA>

trace(flexXML.FlashPlayer.attribute(“version”));                                               //输出“9

trace(flexXML.FlashPlayer.attribute(“*”));

通过指定属性名的方式进行对属性的访问时,可以动态的决定要访问的属性。上面代码输出的结果如下所示。

9

9

adobe

2007

对于属性的访问,也可以采用“[]”操作符访问属性。采用“[]”操作符可以有两种书写方式。具体使用方式如下代码所示。

var flexXML:XML=<RIA>

         <FlashPlayer version=”9” company=”adobe” year=”2007”>

                   <Flash version=”9”>Flash CS3</Flash>

                   <Flex version=”3”>Flex3</Flex>

         </FlashPlayer>

         <Ajax>

                   <GoogleAjax>GoogleAjax1.0</GoogleAjax>

         </Ajax>

</RIA>

trace(flexXML.FlashPlayer[“@version”]);                                                  //输出“9

trace(flexXML.FlashPlayer.@[“company”]);                                              //输出“adobe

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值