Apache flex AS3脸谱网:我如何捕捉像好友这样的通话结果
我正在使用Flex和AS3库。我可以进行调用等,但当我在事件中得到返回的值时,它们就在rawsult中。我不知道如何将其转换为arraycollection等,以便在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; var-friendsDoc:XMLDocument=新的XMLDocument(e.data.rawResult); var解码器:SimpleXMLDecoder=新的SimpleXMLDecoder(true); var resultObj:Object=decoder.decodeXML(friendsDoc); //var testString:String=resultObj.user[0]。uuid为字符串; nameText.text=resultObj.user[0]。uuid为字符串;Apache flex AS3脸谱网:我如何捕捉像好友这样的通话结果,apache-flex,actionscript-3,facebook,Apache Flex,Actionscript 3,Facebook,我正在使用Flex和AS3库。我可以进行调用等,但当我在事件中得到返回的值时,它们就在rawsult中。我不知道如何将其转换为arraycollection等,以便在flex中使用它,或者一般来说,是否有更好的方法访问数据 尝试= var friendsDoc : XMLDocument = new XMLDocument(e.data.rawResult); var decoder:SimpleXMLDecoder = new SimpleXMLDeco
结果是否为有效的xml字符串?然后你可以使用。AS2中的
XML
类保留在AS3中以实现向后兼容性。建议在AS3中使用启用e4x的类
使用e4x语法,您的代码可以简化为几行
比如说,rawResult
was
<root xmlns="http://some.url">
<user id="1">
<uuid>something</uuid>
</user>
<user id="2">
<uuid>something else</uuid>
</user>
</root>
问题是,结果是13035291303522。当我尝试你说的话时,我得到了“一个术语没有定义,也没有属性”。嘿,伙计,我尝试了,但仍然得到了术语错误,并且它指向跟踪行作为错误行。除了使用xml获取好友列表之外,还有其他方法吗,例如通过arraycollection或其他方法,或者它必须被解析吗?除了根以外的任何其他标记(如friend_info或uid)都有xmlns声明吗?如果是这样,则必须使用它们各自的名称空间调用它们。有关xml名称空间的更多信息,请参见我文章中的链接。由于数据是xml字符串,因此必须使用xml本身对其进行解析。别无选择。
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