(再续)HttpService读取本地XML文件

之前介绍了两种方式实现XML本地文件,下面介绍使用属性类来实现读取本地文件。

首先,申明一个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);
}

(完,待续)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值