从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;
}
}