AS3中易混淆的XML,XMLList转换

 <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
 <![CDATA[
  import mx.collections.XMLListCollection;
  import mx.controls.Alert;
  private function init():void{
   var a:XML=<cart>
    <items>
     <item>one</item>
     <item>two</item>
     <item>three</item>
    </items>
    </cart>;
   Alert.show(a.toString(),'a');
   Alert.show(a.toXMLString(),'a.toXMLString()');
//以上两句输出完全一样   
   var b:XML = new XML("<cart><items><item>one</item><item>two</item></items></cart>");
//上句使用XML构造函数来创建一个XML对象,它接受一个String对象作为参数,其他类型的对象将先被转换成String后再处理。
   var c:String="<cart><items><item>one</item><item>two</item><item></item></items></cart>";
   var d:XML = XML(c);
//上句则是使用XML()转换函数来将其他对象转换成XML对象
   Alert.show(b.toString(),'b');
   Alert.show(c.toString(),'c');
   Alert.show(d.toString(),'d');
//可是d对象与c对象引用的并不是同一个实例
   
   var e:XML = XML(a);
   e.items.item[0]="four";
   Alert.show(a.toString(),'a');
   Alert.show(e.toString(),'e');
//但在这时e和a却是指向同一个对象的引用

   var f:XMLList = XMLList(a);
//同样有XMLList()转换函数

   Alert.show(a.cart.toString(),'a.cart');
//上句输出为空,因为a即表示了XML的根元素,a.cart想表示a的cart子元素,但没有
   
   
   Alert.show(a.items.toString(),'a.items');
//用XML的点操作符返回的是XMLList对象,a.items是一个XMLList对象,但
//对于只包含一个 XML 元素的 XMLList 对象,可以使用 XML 类的所有属性和方法,因为包含一个 XML 元素的 XMLList 被视为等同于 XML 对象。  

   var o:XMLListCollection ;
//   o = XMLListCollection(a.items);
//执行上句,会出现运行时错误:强制转换类型失败:无法将 XMLList@6f4e2911 转换为 mx.collections.XMLListCollection。
   o = new XMLListCollection(a.items);
   
   Alert.show(o.toString(),'o');
   }
   
   
//如果字符串中的 XML 数据格式有误(例如缺少结束标签),则会出现运行时错误。   
// 对于只包含一个 XML 元素的 XMLList 对象,可以使用 XML 类的所有属性和方法,因为包含一个 XML 元素的 XMLList 被视为等同于 XML 对象。  
   
 ]]>
</mx:Script>

 
</mx:Application>

代码转载自:https://pan.quark.cn/s/f87b8041184b Language: 中文 欢迎来到戈戈圈! 当你点开这个存储库的时候,你会看到戈戈圈的图标↓ 本图片均在知识共享 署名-相同方式共享 3.0(CC BY-SA 3.0)许可协议下提供,如有授权遵照授权协议使用。 那么恭喜你,当你看到这个图标的时候,就代表着你已经正式成为了一名戈团子啦! 欢迎你来到这个充满爱与希望的大家庭! 「与大家创造更多快乐,与人们一起改变世界。 」 戈戈圈是一个在中国海南省诞生的创作企划,由王戈wg的妹妹于2018年7月14日正式公开。 戈戈圈的创作类型广泛,囊括插画、小说、音乐等各种作品类型。 戈戈圈的目前成员: Contributors 此外,支持戈戈圈及本企划的成员被称为“戈团子”。 “戈团子”一词最初来源于2015年出生的名叫“团子”的大熊猫,也因为一种由糯米包裹着馅料蒸熟而成的食品也名为“团子”,不仅有团圆之意,也蕴涵着团结友爱的象征意义和大家的美好期盼,因此我们最终于2021年初决定命名戈戈圈的粉丝为“戈团子”。 如果你对戈戈圈有兴趣的话,欢迎加入我们吧(σ≧︎▽︎≦︎)σ! 由于王戈wg此前投稿的相关视频并未详细说明本企划的信息,且相关视频的表述极其模糊,我们特此创建这个存储库,以文字的形式向大家介绍戈戈圈。 戈戈圈自2018年7月14日成立至今,一直以来都秉持着包容开放、和谐友善的原则。 我们深知自己的责任和使命,始终尊重社会道德习俗,严格遵循国家法律法规,为维护社会稳定和公共利益做出了积极的贡献。 因此,我们不允许任何人或组织以“戈戈圈”的名义在网络平台或现实中发布不当言论,同时我们也坚决反对过度宣传戈戈圈的行为,包括但不限于与戈戈圈无关的任何...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值