数据库配置文件(config.xml)

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="ConnectionString" value="server=192.168.100.116;database=BDCY;uid=sa;pwd=123456;" />
<add key="ConnString" value="server=(local);database=gxjd;uid=sa;pwd=" />
<add key="BakData" value="W1" />
<add key="dogServer" value="192.168.100.116">
</add>
<add key="dogport" value="">
</add>
</appSettings>
</configuration>

引用命名空间(using System.Xml;)

读取XML中的数据库连接字符串

   /// <summary>
/// 读取XML中的数据数据库连接字符串
/// </summary>
/// <param name="value"></param>
/// <param name="key"></param>
/// <returns></returns>
private string ConfigGetValues(string key)
{
string strRes = string.Empty;
XmlDocument xDoc = new XmlDocument();
xDoc.Load("Config.xml");
XmlNode xNode;
XmlElement xElement;
xNode = xDoc.SelectSingleNode("//appSettings");
xElement = (XmlElement)xNode.SelectSingleNode("add[@key='"+key+"']");
if (xElement != null)
{
strRes = xElement.GetAttribute("value");
}
return strRes;
}

写入XML中的数据库连接字符串

  /// <summary>
/// 写入XML中的数据
/// </summary>
/// <param name="key">键</param>
/// <param name="value">值</param>
/// <returns></returns>
private void ConfigSetValues(string key,string value)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load("Config.xml");
XmlNode xNode;
XmlElement xElement;
XmlElement xElement1;
xNode = xDoc.SelectSingleNode("//appSettings");
xElement = (XmlElement)xNode.SelectSingleNode("//add[@key='"+key+"']");
if (xElement != null)
{
xElement.SetAttribute("value", value); //"value"固定的AppStrings结点属性
}
else
{
xElement1 = xDoc.CreateElement("add");
xElement1.SetAttribute("key", key); //"key"固定的AppStrings结点属性
xElement1.SetAttribute("value", value); //"value"固定的AppStrings结点属性
xNode.AppendChild(xElement1);
}
xDoc.Save("Config.xml");
}

完整代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml; namespace Config
{
public partial class XMLCheck : Form
{
public XMLCheck()
{
InitializeComponent();
} //读取数据
private void btnRead_Click(object sender, EventArgs e)
{
GetConfigSub("ConnectionString");
} //写入数据
private void btnWrite_Click(object sender, EventArgs e)
{
SetConfigSub();
MessageBox.Show("修改成功!");
} /// <summary>
/// 读取XML中的数据数据库连接字符串
/// </summary>
/// <param name="value"></param>
/// <param name="key"></param>
/// <returns></returns>
private string ConfigGetValues(string key)
{
string strRes = string.Empty;
XmlDocument xDoc = new XmlDocument();
xDoc.Load("Config.xml");
XmlNode xNode;
XmlElement xElement;
xNode = xDoc.SelectSingleNode("//appSettings");
xElement = (XmlElement)xNode.SelectSingleNode("add[@key='"+key+"']");
if (xElement != null)
{
strRes = xElement.GetAttribute("value");
}
return strRes;
} /// <summary>
/// 获取数据库连接的子信息
/// </summary>
private void GetConfigSub(string key)
{
string strRes = ConfigGetValues(key);
string[] arr = strRes.Split(';');
txbServerName.Text =arr[].Substring(arr[].IndexOf('=')+);
txbDBName.Text = arr[].Substring(arr[].IndexOf('=') + );
txbAccountName.Text = arr[].Substring(arr[].IndexOf('=') + );
txbDBPwd.Text = arr[].Substring(arr[].IndexOf('=') + );
txbDogAddress.Text = ConfigGetValues("dogServer");
} /// <summary>
/// 写入XML中的数据
/// </summary>
/// <param name="key">键</param>
/// <param name="value">值</param>
/// <returns></returns>
private void ConfigSetValues(string key,string value)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load("Config.xml");
XmlNode xNode;
XmlElement xElement;
XmlElement xElement1;
xNode = xDoc.SelectSingleNode("//appSettings");
xElement = (XmlElement)xNode.SelectSingleNode("//add[@key='"+key+"']");
if (xElement != null)
{
xElement.SetAttribute("value", value); //"value"固定的AppStrings结点属性
}
else
{
xElement1 = xDoc.CreateElement("add");
xElement1.SetAttribute("key", key); //"key"固定的AppStrings结点属性
xElement1.SetAttribute("value", value); //"value"固定的AppStrings结点属性
xNode.AppendChild(xElement1);
}
xDoc.Save("Config.xml");
} /// <summary>
/// 设置数据库连接字符串
/// </summary>
private void SetConfigSub()
{
string serverName = "server=" + txbServerName.Text + ";";
string dbName = "database=" + txbDBName.Text + ";";
string dbAccount = "uid=" + txbAccountName.Text + ";";
string dbPwd = "pwd=" + txbDBPwd.Text + ";";
string dogServer = txbDogAddress.Text;
string appSetting = serverName + dbName + dbAccount + dbPwd;
ConfigSetValues("ConnectionString", appSetting);
ConfigSetValues("dogServer", dogServer);
}
}
}

效果图如下:

XML数据的读取—数据库配置文件的更多相关文章

  1. 6.12-PrepareStatement,JdbcUtil 读取数据库配置文件properties,dao模式

    一.PrepareStatement 防止sql注入 PrepareStatement 是预编译sql语句 更加灵活,更有效率 executeUpdate() 做增删改 executeQuery() ...

  2. C#winfrom将XML数据保存读取删除

    //创建一个数据集,将其写入xml文件 string name = "1.xml"; System.Data.DataSet ds = new System.Data.DataSe ...

  3. ASP.NET - 演练:创建网页以显示 XML 数据

    数据通常是以 XML 格式提供给 Web 应用程序的.但是,XML 数据本质上是分层的,因此您可能希望能够在基于列表的控件中使用 XML 数据,如 GridView 或 DropDownList 控件 ...

  4. c#调用JAVA的Webservice处理XML数据及批量轮询的实现方法

    前段时间做一个调用外单位WEBSERVICE的项目,项目完成的功能其实很简单,就是我们单位有很多车友会员,我们想对他们提供车辆违章信息告之服务!我们这边交警部门给我们开放了WS的接口,我们就是想通过这 ...

  5. 使用dom4j中SAXReader解析xml数据

    public ApiConfig(String configFilePath) throws DocumentException{ SAXReader reader = new SAXReader() ...

  6. iOS开发网络篇之Web Service和XML数据解析

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主.捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下 ...

  7. 大数据学习day25------spark08-----1. 读取数据库的形式创建DataFrame 2. Parquet格式的数据源 3. Orc格式的数据源 4.spark_sql整合hive 5.在IDEA中编写spark程序(用来操作hive) 6. SQL风格和DSL风格以及RDD的形式计算连续登陆三天的用户

    1. 读取数据库的形式创建DataFrame DataFrameFromJDBC object DataFrameFromJDBC { def main(args: Array[String]): U ...

  8. 读取数据库数据,并将数据整合成3D饼图在jsp中显示

    首先我将生成饼图的方法独立写成一个PieChar.java类,详细代码如下:(数据库需要自己建,如有需要的话) import java.io.IOException; import java.sql. ...

  9. 我也来学着写写WINDOWS服务-解析xml抓取数据并插入数据库

    项目告一段落,快到一年时间开发了两个系统,一个客户已经在试用,一个进入客户测试阶段,中间突然被项目经理(更喜欢叫他W工)分派一个每隔两小时用windows服务去抓取客户提供的外网xml,解析该xml, ...

随机推荐

  1. Java中的继承与组合

    本文主要说明Java中继承与组合的概念,以及它们之间的联系与区别.首先文章会给出一小段代码示例,用于展示到底什么是继承.然后演示如何通过“组合”来改进这种继承的设计机制.最后总结这两者的应用场景,即到 ...

  2. Yii2的相关学习记录,自定义gii模板和引用vendor中的js、css(四)

    上文中后台模板框架已经搭建起来了,但还是有些不协调,像是有两个User标题,或者我们想自己在gii生成时添加或删除些公用的东西.这就需要我们定义自己的gii模板. 我们以CRUD的模板为例,默认的gi ...

  3. 文成小盆友python-num7 -常用模块补充 ,python 牛逼的面相对象

    本篇内容: 常用模块的补充 python面相对象 一.常用模块补充 1.configparser模块 configparser 用于处理特定格式的文件,起内部是调用open()来实现的,他的使用场景是 ...

  4. decimal类型数据如何保留两位小数

    日常开发中,decimal作为货币类型,经常会处理保留两位小数的问题. 本站整理两种,decimal类型保留两位小数的方法. 第一种: decimal d = 46.28111m;string res ...

  5. URL加载系统----iOS工程师必须熟练掌握

    URL加载系统----iOS工程师必须熟练掌握     iOS根本离不开网络——不论是从服务端读写数据.向系统分发计算任务,还是从云端加载图片.音频.视频等.   当应用程序面临处理问题的抉择时,通常 ...

  6. 前端工程之模块化(来自百度FEX)

    模块化 是一种处理复杂系统分解成为更好的可管理模块的方式,它可以把系统代码划分为一系列职责单一,高度解耦且可替换的模块,系统中某一部分的变化将如何影响其它部分就会变得显而易见,系统的可维护性更加简单易 ...

  7. 启动Activity但不显示其界面

    最近在工作中做了一个很简单的任务,制作一个apk,点击该app链接到某一个网站.     代码很简单,只有如寥寥几行: (browser.java) package com.test.browser; ...

  8. angular学习地址

    在网上收集了angular.js的网站,不错,收集收集 http://www.ituring.com.cn/minibook/303 http://www.zouyesheng.com/angular ...

  9. Ubuntu中Samba的安装配置和使用[图文]

    Samba服务在Ubuntu服务器版本中默认并没有安装. 1. Samba软件包的安装 使用源安装,在终端中输入如下命令: #sudo apt-get install samba#sudo apt-g ...

  10. 关于SQL的Group By

    SELECT col1, col2, col3, sum(col3) from T1 GROUP BY col1, col2, col3, col4 ; 对于含有Group By的Sql语句,需要注意 ...