flex里httpService发起post请求后获取的XML的解析问题
主要代码如下:privatefunctioninit():void{CursorManager.setBusyCursor();myhttpService=newHTTP...
主要代码如下: private function init():void{ CursorManager.setBusyCursor(); myhttpService = new HTTPService(); myhttpService.method = 'POST'; myhttpService.resultFormat = 'e4x'; myhttpService.url = _url; myhttpService.addEventListener(FaultEvent.FAULT,onFaultHandler); myhttpService.addEventListener(ResultEvent.RESULT,onResultEvent); myhttpService.send(_obj); } private function onFaultHandler(e:FaultEvent):void{ Alert.show(e.message.toString()); CursorManager.removeBusyCursor(); } private function onResultEvent(e:ResultEvent):void{ _airxml = e.result as XML; trace(_airxml); trace(_airxml.Flight); //Flight是XML的子节点.trace(_airxml.Flight)没有值.但是trace(_airxml)这个有值. _backfun(); CursorManager.removeBusyCursor(); } 问题:返回的结果_airxml为XML类型.可以用Children()访问XML子节点.但是不能用点语法访问子节点.为什么? 先给20分.如果哪位高人能帮我解释下.再另外奉上100分.谢谢了..
展开
展开全部
先看看这个 我感觉是你要是转成e4x或许不行 可以试试object Demo.mxml: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx=" http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.controls.Alert import mx.rpc.events.FaultEvent import mx.rpc.events.ResultEvent internal function init():void{ httpsend.send() } internal function resultEve(event:ResultEvent):void{ datagird.dataProvider = event.result.result.row Alert.show(event.result.result.row.toString()) } internal function faultEve(event:FaultEvent):void{ Alert.show(event.fault.faultDetail,"Error") } ]]> </mx:Script> <mx:HTTPService id="httpsend" result="resultEve(event)" fault="faultEve(event)" url="Demo.xml" resultFormat="object"/> <mx:DataGrid id="datagird"> <mx:columns> <mx:DataGridColumn headerText="姓名" dataField="person"/> </mx:columns> </mx:DataGrid> </mx:Application> Demo.xml: <result> <row> <person>小1</person> </row> <row> <person>小2</person> </row> <row> <person>小3</person> </row> </result>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询