Ext.Net 1.X_读写配置文件
[摘要]
有N个ERP数据库帐套,需要从XML文件中读取。
加载指定路径的XML
/// <summary> /// 取得帐套列表 /// </summary> private void GetDBList() { List<object> data = new List<object>(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@"d:\db.xml"); XmlNode xn = xmlDoc.SelectSingleNode("Mydatabase"); XmlNodeList xnl = xn.ChildNodes; string company = string.Empty; string connectstring=string.Empty; foreach (XmlNode xnf in xnl) { XmlElement xe = (XmlElement)xnf; company = xe.GetAttribute("dispalyname"); connectstring = string.Format("Server={0};Database={1};uid={2};pwd={3}", xe.GetAttribute("Server"), xe.GetAttribute("Database"), xe.GetAttribute("uid"), xe.GetAttribute("pwd")); data.Add(new { name = company, connectstring = connectstring }); } this.DataBaseStore.DataSource = data; this.DataBaseStore.DataBind(); this.cbxDb.SelectedIndex = 0; }
用户选择帐套修改.config
/// <summary> /// 确认帐套修改配置文件连接字符串 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Login_Click(object sender, DirectEventArgs e) { if (cbxDb.SelectedItem.Value.ToString() != "") { BaseConfig bc = new BaseConfig("Config/CurrentConnect.config"); bc.SaveConfig(this.cbxDb.SelectedItem.Value.Trim(),"ConnectString"); Response.Redirect("Index.aspx"); } else { X.Msg.Alert("提示","请选择帐套").Show(); } }
/// <summary> /// 写入配置文件 key value /// </summary> /// <param name="ConnenctionString"></param> /// <param name="strKey"></param> public void SaveConfig(string ConnenctionString, string strKey) { XmlDocument doc = new XmlDocument(); //获得配置文件的全路径 string strFileName = HttpContext.Current.Server.MapPath(configPath); doc.Load(strFileName); //找出名称为“add”的所有元素 XmlNodeList nodes = doc.GetElementsByTagName("add"); for (int i = 0; i < nodes.Count; i++) { //获得将当前元素的key属性 XmlAttribute att = nodes[i].Attributes["key"]; //根据元素的第一个属性来判断当前的元素是不是目标元素 if (att.Value == strKey) { //对目标元素中的第二个属性赋值 att = nodes[i].Attributes["value"]; att.Value = ConnenctionString; break; } } //保存上面的修改 doc.Save(strFileName); } /// <summary> /// 读取配置文件key-value值 /// </summary> /// <param name="ConnenctionString"></param> /// <param name="strKey"></param> public string GetConfigKeyValue(string strKey) { XmlDocument doc = new XmlDocument(); string ConnectString = string.Empty; doc.Load(HttpContext.Current.Server.MapPath(configPath)); //找出名称为“add”的所有元素 XmlNodeList nodes = doc.GetElementsByTagName("add"); for (int i = 0; i < nodes.Count; i++) { //获得将当前元素的key属性 XmlAttribute att = nodes[i].Attributes["key"]; if (att.Value == strKey) { ConnectString = nodes[i].Attributes["value"].Value.ToString(); } } return ConnectString; }
Ext.Net 1.X_读写配置文件的更多相关文章
- 用ConfigParser模块读写配置文件——Python
对于功能较多.考虑用户体验的程序,配置功能是必不可少的,如何存储程序的各种配置? 1)可以用全局变量,不过全局变量具有易失性,程序崩溃或者关闭之后配置就没了,再者配置太多,将变量分配到哪里也是需要考虑 ...
- 使用ConfigurationManager类读写配置文件
使用ConfigurationManager类 读写配置文件app.config,以下为代码: view plaincopy to clipboard print? using System; usi ...
- Python自动化测试 (二) ConfigParser模块读写配置文件
ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section, section 下有op ...
- C读写配置文件
在项目开发中,经常需要读取应用配置文件的初始化参数,用于应用在启动前进行一些初始化配置.比如:Eclipse,参数项包含主题.字体大小.颜色.Jdk安装位置.自动提示等.Eclispe配置的文件格式是 ...
- Python自动化测试 -ConfigParser模块读写配置文件
C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置. 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和兴趣. 而有些语言的开发环 ...
- python:实例化configparser模块读写配置文件
之前的博客介绍过利用python的configparser模块读写配置文件的基础用法,这篇博客,介绍下如何实例化,方便作为公共类调用. 实例化的好处有很多,既方便调用,又降低了脚本的维护成本,而且提高 ...
- python:利用configparser模块读写配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...
- python-ConfigParser模块【读写配置文件】
对python 读写配置文件的具体方案的介绍 1,函数介绍 import configParser 如果Configparser无效将导入的configParser 的C小写 1.1.读取配置文件 - ...
- python 读写配置文件
使用python读写配置文件,写个demo测试一下. #!/usr/bin/env python import os import ConfigParser # 如果文件不存在,就穿件文件. if o ...
随机推荐
- SpringMVC总结(SSM)
Day1 1. springMvc:是一个表现层框架: 作用:就是从请求中接收传入的参数, 将处理后的结果数据返回给页面展示2. ssm整合: 1)Dao层 pojo和映射文件以及接口手动编写(或使用 ...
- android 获取栈顶activty的方法总结(兼容API 5.0)
声明:本文为Dujinyang CSDN原创投稿文章,未经许可,禁止任何形式的转载. 最近5.0\6.0\7.0 安卓系统都陆续上岗了,兼容性和代码更新是个很头疼的问题,这次我们来说下TASK的基础和 ...
- Openstack:Instance cannot ping by domain name
Issue: When you created an instance inside Openstack, you may find that you cannot ping address by d ...
- iOS 动态 Framework 对App启动时间影响实测
最近看到的Slow App Startup Times里提到: The dynamic loader finds and reads the dependent dynamic libraries ( ...
- Linux 高性能服务器编程——Linux网络编程基础API
问题聚焦: 这节介绍的不仅是网络编程的几个API 更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系. 这节主要介绍三个方面的内容:套接字(so ...
- ListView嵌套GridView
首先,我们通过两个实例来了解下本篇文章所讲的重点,看下图: 微博: 陌陌: 大家应该对这两款软件并不陌生,接下来,我将列举下本文将要实现的几个点: 1.ListView嵌套GridView,互不冲突, ...
- 程序员的自我修养-----Java开发的必须知道的几个注意点
1. 将一些需要变动的配置写在属性文件中 比如,没有把一些需要并发执行时使用的线程数设置成可在属性文件中配置.那么你的程序无论在DEV环境中,还是TEST环境中,都可以顺畅无阻地运行,但是一旦部署在P ...
- FORM执行查询的各种方法
一.FORM调用FORM后执行查询 1.打开 APPSTAND.fmb,把 Object Groups 下的 QUERY_FIND 对象组拖动到自己的 form 中的 Object Groups ...
- Java中读取Excel功能实现_POI
这里使用apache的poi进行读取excel 1,新建javaproject 项目:TestExcel 2,导入包 包下载地址:http://poi.apache.org/download.html ...
- Java--Dom解析XML文件
之前写过几篇关于Java中解析XML文件的方法,不过,感觉不够简单,今天重写了一遍代码,用到的是方法是Dom,其中加入了日志记录功能--Log4j. 好了,不多说了,先把XMl ...