从XML映射为Flex 对象的一点问题

使用下面Flex函数可以很方便的将XML映射为对象,

        public static function xmlToObj(XML:String):Object{                
            var xmlDoc:XMLDocument = new XMLDocument(XML);           
             var decoder:SimpleXMLDecoder=new SimpleXMLDecoder(true);
            var result:Object = decoder.decodeXML(xmlDoc);
            return result;
        }   

但是它有一个问题,如果我们定义了复数个相同的tag的话,它可以将其映射为ArrayCollection,如果Tag只有一条的话,它会将其映射为ObjectProxy。

 

这样当映射可以为复数的XML项目时,需要通过函数进行判断转换

 

        public static function getCollection(obj:Object):ArrayCollection{
            if (obj is ArrayCollection)
              return obj as ArrayCollection;
            else
            {
              var ac:ArrayCollection=new ArrayCollection();
              ac.addItem(obj);
              return ac;
            }
        }