123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- //-----------------------------------------------------------------------
- // <copyright company="" file="LoadXmlHelper.cs">
- // Copyright (c) V1.0
- // 作者:季健国
- // 功能:加载XML
- // 历史版本:2013-11-26 新增
- // </copyright>
- //-----------------------------------------------------------------------
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Xml;
- using System.IO;
- using System.Web;
- namespace Ant.Common
- {
- public class LoadXmlHelper
- {
-
- /// <summary>
- /// 获取数据
- /// </summary>
- public static XmlDocument XmlLoading(string configpath)
- {
- XmlDocument xmlDoc = new XmlDocument();
- try
- {
- if (!string.IsNullOrEmpty(configpath))
- {
- xmlDoc.Load(configpath);
- }
- }
- catch (Exception ex)
- {
- // Log4NetHelper.WriteExceptionLog("加载URL文件失败", ex);
- }
- return xmlDoc;
- }
- /// <summary>
- /// 查找XML所在节点的值
- /// 添加人:季健国
- /// 添加时间:2013-12-03
- /// </summary>
- /// <param name="xml"></param>
- /// <param name="index"></param>
- /// <returns></returns>
- public static object GetXmlValue(XmlDocument xml,string index)
- {
- object obj = null;
- if (!Equals(xml.SelectSingleNode(index).InnerText,null))
- obj = xml.SelectSingleNode(index).InnerText;
- return obj;
- }
-
-
- }
- /// <summary>
- /// 数据库连接配置缓存文件对象
- /// </summary>
- public class DataBaseXmlObject
- {
- /// <summary>
- /// 数据库连接配置缓存文件对象
- /// </summary>
- public DataBaseXmlObject()
- {
- }
- /// <summary>
- /// 数据库连接配置缓存文件对象
- /// </summary>
- /// <param name="dataBaseType">数据库类型</param>
- /// <param name="dataBaseAddress">地址</param>
- /// <param name="authentication">验证方式</param>
- /// <param name="account">账号</param>
- /// <param name="password">密码</param>
- public DataBaseXmlObject(int dataBaseType, string dataBaseAddress, int authentication, string account, string password)
- {
- this.DataBaseAccount = account;
- this.DataBasePassword = password;
- this.DataBaseType = dataBaseType;
- this.DataBaseAddress = dataBaseAddress;
- this.DataBaseAuthentication = authentication;
- this.LoginTime = DateTime.Now;
- }
- /// <summary>
- /// 数据库类型
- /// </summary>
- public int DataBaseType { get; set; }
- /// <summary>
- /// 数据库地址
- /// </summary>
- public string DataBaseAddress { get; set; }
- /// <summary>
- /// 验证方式
- /// </summary>
- public int DataBaseAuthentication { get; set; }
- /// <summary>
- /// 账号
- /// </summary>
- public string DataBaseAccount { get; set; }
- /// <summary>
- /// 密码
- /// </summary>
- public string DataBasePassword { get; set; }
- /// <summary>
- /// 登陆时间
- /// </summary>
- public DateTime LoginTime { get; set; }
- /// <summary>
- /// 获取配置文件信息
- /// </summary>
- /// <param name="path">路径</param>
- /// <returns>返回集合</returns>
- public static Dictionary<string, DataBaseXmlObject> GetList(string path)
- {
- if (File.Exists(path))
- {
- XmlDocument doc = new XmlDocument();
- doc.LoadXml(ReaderFile(path).Trim());
- Dictionary<string, DataBaseXmlObject> list = new Dictionary<string, DataBaseXmlObject>();
- foreach (XmlNode databaseConfig in doc.DocumentElement.ChildNodes)
- {
- string address = StringEncrypt.DeCode(databaseConfig.Attributes["address"].Value);
- DataBaseXmlObject dataBase = new DataBaseXmlObject();
- dataBase.DataBaseAccount = StringEncrypt.DeCode(databaseConfig.Attributes["account"].Value);
- dataBase.DataBasePassword = StringEncrypt.DeCode(databaseConfig.Attributes["password"].Value);
- dataBase.DataBaseAuthentication = int.Parse(StringEncrypt.DeCode(databaseConfig.Attributes["authentication"].Value));
- dataBase.DataBaseType = int.Parse(StringEncrypt.DeCode(databaseConfig.Attributes["dataBaseType"].Value));
- dataBase.DataBaseAddress = address;
- dataBase.LoginTime = DateTime.Parse(StringEncrypt.DeCode(databaseConfig.Attributes["login"].Value));
- if (list.ContainsKey(address) == false)
- {
- list.Add(address, dataBase);
- }
- }
- return list;
- }
- return null;
- }
- /// <summary>
- /// 获取连接字符串
- /// </summary>
- /// <param name="dataBase">数据库</param>
- public string GetConnectionString(string dataBase)
- {
- if (DataBaseAuthentication == 0)
- {
- return "Data Source=" + DataBaseAddress + ";Initial Catalog=" + dataBase + ";Integrated Security=True;";
- }
- return "user id=" + DataBaseAccount + ";password=" + DataBasePassword + ";DataBase=" + dataBase + ";server=" + DataBaseAddress + ";";
- }
- /// <summary>
- /// 读文件
- /// </summary>
- /// <param name="path">路径</param>
- /// <returns>返回内容</returns>
- public static string ReaderFile(string path)
- {
- if (File.Exists(path))
- {
- FileStream f = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
- StreamReader reader = new StreamReader(f, Encoding.UTF8);
- string content = reader.ReadToEnd();
- reader.Close();
- f.Close();
- return content;
- }
- return string.Empty;
- }
- }
- }
|