Flex实践——XML文件读取

Flex中读取XML文件有几种方式,主要用到的有两种 HttpService 与 Webserivice
今天下午尝试了一下用HttpService+服务器 与 只用 HttpService 来读取XML文件内容,都成功运行了
服务器选择 Tomcat   或 Glassfish V2

我尝试的是Glassfish V2 服务器,不过只要URL导入正确,服务器的种类应该不是问题
下面来介绍一下这次的实践:

1)不运用服务器,直接读取本地XML文件
在当前目录下创建一个XML文件:states.xml

<?xml version="1.0" encoding="utf-8" ?>
<Result>
<NodeA>meteorWJ</NodeA>
<NodeB>eleven</NodeB>
</Result>

创建一个Flex Application工程:XMLTest.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"
 creationComplete="xmlRecord.send()" layout="absolute">
 <mx:HTTPService showBusyCursor="true" url="states.xml" id="xmlRecord"/>
<mx:DataGrid width="712" height="338" dataProvider="{xmlRecord.lastResult.Result}">
        <mx:columns>
               <mx:DataGridColumn headerText="SectionA" dataField="NodeA" width="200" />
               <mx:DataGridColumn headerText="SectionB" dataField="NodeB" width="200"/>
        </mx:columns>
</mx:DataGrid>
</mx:Application>


注意代码部分:
creationComplete="xmlRecord.send()" ,一定要加上这一句,完成初始化的数据加载
dataProvider="{xmlRecord.lastResult.Result}",dataProvider 的内容要具体到你所想显示的节点

运行程序:



2)在服务器下运行

特殊步骤:
将XML文件放到服务器目录下,将上文中的URL改成服务器下的文件URL
如:
<mx:HTTPService showBusyCursor="true" url="http://localhost:8080/FlexXmlTest/XmlFile/states.xml" id="xmlRecord"/> 在运行主程序前先启动服务器其余步骤均同上一种方式一样,运行结果也同上一种方式一样。下一个目标,从XML中读取数据,进行登录验证