AS3-Facebook:我如何为朋友的电话捕获RawResult

时间:2009-10-15 00:50:16

标签: flex actionscript-3 facebook

我正在使用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;

1 个答案:

答案 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