flex HTTPService读取XML并解析
2010-08-03 16:24codeif.com
读取如下的xml文件,并解析(ue.xml)
<?xml version="1.0" encoding="UTF-8"?> <root> <nodes> <node id="1">a</node> <node id="2">b</node> <node id="3">c</node> <node id="4">d</node> <node id="5">e</node> <node id="6">f</node> </nodes> </root>
flex的编写如下(使用的是flex4版本,flex3基本类似)
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.rpc.events.ResultEvent;
protected function init():void
{
dataXml.send();
}
protected function dataXml_resultHandler(event:ResultEvent):void
{
var data:XML = XML(event.result);
for each(var nodeXML:XML in data.nodes.node){
trace(nodeXML.@id+"\t"+nodeXML);
Alert.show(nodeXML.@id+"\t"+nodeXML);
}
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:HTTPService id="dataXml" url="../ue.xml" resultFormat="xml" result="dataXml_resultHandler(event)" />
</fx:Declarations>
</s:Application>
