我正在使用Flex和AS3库。我可以打电话等但是当我在事件中返回值时,它们在RawResult中。我不知道如何将其转换为数组收集等因此我可以在flex中使用它,或者如果有更好的方法来访问数据,一般来说。
试图=
var friendsDoc : XMLDocument = new XMLDocument(e.data.rawResult); var decoder:SimpleXMLDecoder = new SimpleXMLDecoder(true); var resultObj:Object = decoder.decodeXML(friendsDoc); //var testString: String = resultObj.user[0].uuid as String; nameText.text = resultObj.user[0].uuid as String;
答案 0 :(得分:1)
rawResult是一个有效的xml字符串吗?然后你可以使用e4x in AS3。 AS2中的XML
类作为XMLDocument class保留在AS3中,以实现向后兼容性。建议在AS3中使用e4x启用的XML类。
使用e4x语法,您的代码可以简化为几行。
我们说rawResult
是
<root xmlns="http://some.url">
<user id="1">
<uuid>something</uuid>
</user>
<user id="2">
<uuid>something else</uuid>
</user>
</root>
我们可以解析它:
var friendsDoc:XML = new XML(e.data.rawResult);
var ns:Namespace = new Namespace("http://some.url");
trace(friendsDoc.ns::user[0].ns::uuid);//something
trace(friendsDoc.ns::user[1].ns::@id);//2
trace(friendsDoc.ns::user.(@id == "2").ns::uuid);//something else