(再续)HttpService读取本地XML文件
2011-11-06 16:48
471 查看
之前介绍了两种方式实现XML本地文件,下面介绍使用属性类来实现读取本地文件。
首先,申明一个Properties.as文件,代码如下:
接着在ReadData.as文件中读取属性文件:
当然,下面附上XML文件,如下所示:
接着,再使用它的地方:
跟之前的相似,有两个地方使用之,例如在一个MXML文件中
在它的as文件中:
(完,待续)
首先,申明一个Properties.as文件,代码如下:
package com.utils.allas { import flash.utils.Timer; public class Properties { public static var IP_valuse:String ; public static var IFrameURL_valuse:String; public static var IFrameURL_valuse_SR:String;; public static var IFrameURL_valuse_Qone_ZL; public static var IFrameURL_valuse_Qone_CB:String;; public static var IFrameURL_valuse_Qone_JD:String;; public static var IFrameURL_valuse_Qone_ZT :String; public static var IP_checkLog:String = "Smarter/checkLog"; public static var ServiceURL_7:String = "Smarter/getEmployeeList_7"; //七楼 public static var ServiceURL_8:String = "Smarter/getEmployeeList_8"; //八楼 public static var ServiceImgURL:String = "Smarter"; public static var ElapseTimer:Number=5000; //界面响应时间 public static var markNum:Number=1; //初始化 public static var UrlWeather1:String= "Smarter/"; //初始化 public static var UrlWeather:String= "Smarter/weather"; //初始化 public static var pageTransferTimer:Timer; //自定义定时器,可延时 public static var DestAddressUrl:String="Smarter/saveLog?log="; public static var TopTitle:String; public function Properties() { } } }
接着在ReadData.as文件中读取属性文件:
package com.utils.allas { /** * * * 不写接口,直接写实现类 * * */ import com.utils.allas.Properties; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; import mx.controls.Alert; import mx.events.FlexEvent; import mx.utils.StringUtil; public class ReadData { private var loader:URLLoader = new URLLoader(); private var request:URLRequest = new URLRequest("../config/data.xml"); public static var reaDdate: ReadData = null; public var ipUrl:String; //这是一个URL,其实是一个XML文件 //URL集合 public var UrlArr:Array; public static function getInstence() : ReadData{ if (reaDdate == null) { reaDdate = new ReadData(); } return reaDdate; } //加载这个构造器 public function ReadData() { // TODO Auto-generated method stub loader.load(request); // Alert.show(loader.data); loader.addEventListener(Event.COMPLETE, onComplete); } //事件响应函数 private function onComplete(event:Event):void { var loader:URLLoader = event.target as URLLoader; if (loader != null) { //开始尝试使用Array方式 // ipUrl = StringUtil.trim(loader.data); // //UrlArr = ipUrl.split("\r"); var xml:XML=XML(event.target.data); //trace(xml.toString()); Properties.IP_valuse=xml.ip[0].@data; Properties.IFrameURL_values=xml.ip[1].@data; Properties.IFrameURL_valuse_SR=xml.ip[2].@data; Properties.IFrameURL_valuse_Qone_ZL=xml.ip[3].@data; Properties.IFrameURL_valuse_Qone_CB=xml.ip[4].@data; Properties.IFrameURL_valuse_Qone_JD=xml.ip[5].@data; Properties.IFrameURL_valuse_Qone_ZT=xml.ip[6].@data; Properties.ElapseTimer=xml.ip[7].@data; Properties.TopTitle=xml.ip[8].@data; // trace("共有"+UrlArr.length+"记录"); // trace("时间:\t"+_ip_value); } else { Alert.show("不可以加载URLLoader类!"); } } public function get ipUrlR():String{ return ipUrl; } } }
当然,下面附上XML文件,如下所示:
<?xml version="1.0" encoding="UTF-8"?> <ips> <ip data="http://192.168.17.41:8080/" tp="IP_valuse"/> <ip data="http://192.168.17.101/ppar/" tp="IFrameURL_valuse" /> <ip data="http://www.gzios.com/ppar/index.php/ours/extra" name="IFrameURL_valuse_SR"/> <ip data="http://gz.iscas.ac.cn:8080/pm/hl/ProjMonitorAction.do?method=getAllMonitor_tree&uuid=cdKO0KMJBPOOKDppNJLPTsCzp2Zl4lOU" name="IFrameURL_valuse_Qone_ZL" /> <ip data=" http://gz.iscas.ac.cn:8080/pm/hl/ProgressMonitorAction.do?method=getProgressMonitor_tree&uuid=gXvtVtgrSmIdbrGCbVg40RNXDHuoMzZr" name="IFrameURL_valuse_Qone_CB" /> <ip data="http://gz.iscas.ac.cn:8080/pm/hl/CostMonitorAction.do?method=getCostMonitor_tree&uuid=WwuOWTPJZTlCCcReqpgNvUE57Gm4Qa3c" name="IFrameURL_valuse_Qone_JD" /> <ip data=" http://gz.iscas.ac.cn:8080/pm/hl/QualityMonitorAction.do?method=getQualityMonitor_tree&uuid=o2eMh6Pfc4shGtTVcSrJkkOjbx1S0eqQ" name="IFrameURL_valuse_Qone_ZT" /> <ip data="60000" name="ElapseTimer" /> <ip data="热烈欢迎中科院院地局*******一行莅临*******指导工作" name="topTitle" /> </ips>
接着,再使用它的地方:
跟之前的相似,有两个地方使用之,例如在一个MXML文件中
<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" xmlns:halo="library://ns.adobe.com/flex/halo" minWidth="955" minHeight="600" width="1364" height="766" xmlns:flexiframe1="com.google.code.flexiframe.*" xmlns:marquee="com.bc.mar.app.*" initialize="application1_initializeHandler(event);initClock();" creationComplete="creationCompleteHandler();" >
在它的as文件中:
application1_initializeHandler(event):void
{ rd = ReadData.getInstence(); }
creationCompleteHandler():void{
Alert.show(rd.IP_values);
}
(完,待续)
相关文章推荐
- flex通过HTTPService组件读取复杂结构的xml文件
- httpservice读取本地xml
- jquery读取本地文件,Windows上报错。XMLHttpRequest cannot load xxx. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.k.cors.a.c
- Flex通过HTTPService读取外部的XML文件
- 如果从Silverlight 读取本地GB2312格式的xml文件
- JS通过XMLHttpRequest 读取服务器端文件
- Flex : 利用HTTPService DataGrid从XML文件中加载数据
- 读取本地XML文件信息,在地图上添加标注,显示当前位置详细地理信息
- 本地访问json格式文件出现XMLHttpRequest cannot load的解决方法
- HttpService读取本地XML文件
- 让Chrome支持Ajax/$http方式读取本地文件
- Android对本地xml的文件读取
- java 读取图片,兼容本地图片路径与http文件
- flex基础篇二 flex加载数据的两种方式,httpService和本地xml
- wp7读取网络上和本地的xml文件
- 用JavaScript读取本地XML文件
- UE4读取本地XML文件
- asp xmlhttp 读取文件
- ajax加载本地html文件出现 XMLHttpRequest cannot load的问题