Flex中处理带命名空间的XML
发布时间:2020-12-15 01:35:24 所属栏目:百科 来源:网络整理
导读:对包含自定义命名空间的XML 进行分析是比较困难的,它要求该命名空间一定要在任何XML 返回前被申明,同时要在该命名空间内进行分析。比如对于以下的一个xml: test.xml ?xml version="1.0"? soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelop
对包含自定义命名空间的XML 进行分析是比较困难的,它要求该命名空间一定要在任何XML 返回前被申明,同时要在该命名空间内进行分析。比如对于以下的一个xml:
test.xml <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.example.org/stock"> <m:PriceResult> <m:Price>34.5</m:Price> </m:PriceResult> </soap:Body> </soap:Envelope> 在Applicaiton中如下: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*"> <mx:Script> <!--[CDATA[ import mx.rpc.events.ResultEvent; //load the xml private function loadXML():void { https.send(); } private function doResult(evt:ResultEvent):void { var xml:XML = evt.result as XML; //这样可以取得正确结果 namespace w3c = "http://www.w3.org/2001/12/soap-envelope"; use namespace w3c; namespace m = "http://www.example.org/stock"; use namespace m; lbl.text = xml.w3c::Body.m::PriceResult.m::Price; //这样取不到正确结果 // lbl.text = xml.Body.PriceResult.Price; } ]]--> </mx:Script> <mx:Button x="297" y="289" label="Button" click="loadXML()"/> <mx:HTTPService id="https" url="test.xml" result="doResult(event)" resultFormat="e4x"/> <mx:Label x="212" y="198" text="显示结果:"/> <mx:Label x="291" y="198" width="132" id="lbl"/> </mx:Application> 注意代码中: namespace w3c = "http://www.w3.org/2001/12/soap-envelope"; use namespace w3c; ......
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |