Xml AdobeFlex操作脚本-响应对象

Xml AdobeFlex操作脚本-响应对象,xml,actionscript-3,apache-flex,actionscript,Xml,Actionscript 3,Apache Flex,Actionscript,我有一个AdobeFlex应用程序,从cgi脚本中,我接收XML形式的响应对象 var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.TEXT; loader.addEventListener(Event.COMPLETE, httpResult); loader.load(request); private function httpResult(e:Event):void {

我有一个AdobeFlex应用程序,从cgi脚本中,我接收XML形式的响应对象

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(Event.COMPLETE, httpResult);

loader.load(request);

private function httpResult(e:Event):void
{   
    Alert.show("XML: " + new XML(e.target.data));
    var result:XML = XML(e.target.data) as XML;
    Alert.show("hasOwnProperty(result): " + result.hasOwnProperty("result"));
}
下面是我在警报“XML”处的响应对象:


插入
但是警告“hasOwnProperty(result):”显示“False”

是XML的最新版本。
请尝试以下操作:

private function httpResult(e:Event):void
{   
    var result:XML = XML(e.target.data);
    Alert.show("has update property: " + result.hasOwnProperty("update"));
}

编辑:为清楚起见,请查看以下代码:

var xml:XML = XML("<result><update>insert</update></result>");

trace("XML:", xml);
trace("result:", xml.hasOwnProperty("result"));
trace("update:", xml.hasOwnProperty("update"));
var-xml:xml=xml(“插入”);
跟踪(“XML:”,XML);
跟踪(“结果:”,xml.hasOwnProperty(“结果”);
跟踪(“更新:”,xml.hasOwnProperty(“更新”);
控制台中的输出如下所示:

XML: <result>
  <update>insert</update>
</result>
result: false
update: true
XML:
插入
结果:错误
更新:正确

-1。我很抱歉;这与提供的代码有何不同?除了删除第一个警报并更改第二个警报上的文本字符串外,您还做了其他操作吗?@www.Flextras.com,@Anton抱歉,我只是忘记更改
result.hasOwnProperty()调用中的值。我已经编辑并更正了代码。我删除了对您的更改的否决票。我怀疑你的思路是对的。我认为原始代码中的“双重转换”可能有问题;但我需要一步一步地通过代码来确定。我认为不需要对数据进行两次转换。尝试
var结果:XML=XML(e.target.data)
var结果:XML=e.target.data为XML但不是两者都有。我的直觉是您需要第一个。@www.Flextras.com,第一个(
XML(e.target.data)
)将
字符串
结果转换为
XML
(如果格式正确),第二个方法将尝试将
字符串
读取为
XML
,这将失败,因为
字符串
不是
XML
(它是XML格式的字符串)。顺便说一句,双重施法不是问题,它只是多余的…@NemoStein
e.target.data
是一个通用的Flex对象;不是一串。我知道在某些情况下使用
as Something
vs
Something()
会出现转换问题。我只是不知道,在我的脑海里,哪一个是有问题的。听起来我的直觉是对的;第一个是正确的。
XML: <result>
  <update>insert</update>
</result>
result: false
update: true