XML数据的读取—数据库配置文件
数据库配置文件(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数据的读取—数据库配置文件的更多相关文章
- 6.12-PrepareStatement,JdbcUtil 读取数据库配置文件properties,dao模式
一.PrepareStatement 防止sql注入 PrepareStatement 是预编译sql语句 更加灵活,更有效率 executeUpdate() 做增删改 executeQuery() ...
- C#winfrom将XML数据保存读取删除
//创建一个数据集,将其写入xml文件 string name = "1.xml"; System.Data.DataSet ds = new System.Data.DataSe ...
- ASP.NET - 演练:创建网页以显示 XML 数据
数据通常是以 XML 格式提供给 Web 应用程序的.但是,XML 数据本质上是分层的,因此您可能希望能够在基于列表的控件中使用 XML 数据,如 GridView 或 DropDownList 控件 ...
- c#调用JAVA的Webservice处理XML数据及批量轮询的实现方法
前段时间做一个调用外单位WEBSERVICE的项目,项目完成的功能其实很简单,就是我们单位有很多车友会员,我们想对他们提供车辆违章信息告之服务!我们这边交警部门给我们开放了WS的接口,我们就是想通过这 ...
- 使用dom4j中SAXReader解析xml数据
public ApiConfig(String configFilePath) throws DocumentException{ SAXReader reader = new SAXReader() ...
- iOS开发网络篇之Web Service和XML数据解析
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主.捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下 ...
- 大数据学习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 ...
- 读取数据库数据,并将数据整合成3D饼图在jsp中显示
首先我将生成饼图的方法独立写成一个PieChar.java类,详细代码如下:(数据库需要自己建,如有需要的话) import java.io.IOException; import java.sql. ...
- 我也来学着写写WINDOWS服务-解析xml抓取数据并插入数据库
项目告一段落,快到一年时间开发了两个系统,一个客户已经在试用,一个进入客户测试阶段,中间突然被项目经理(更喜欢叫他W工)分派一个每隔两小时用windows服务去抓取客户提供的外网xml,解析该xml, ...
随机推荐
- 深入Java虚拟机读书笔记第一章Java体系结构介绍
第1章 Java体系结构介绍 Java技术核心:Java虚拟机 Java:安全(先天防bug的设计.内存).健壮.平台无关.网络无关(底层结构上,对象序列化和RMI为分布式系统中各个部分共享对象提供了 ...
- Python学习笔记:06魔法方法和迭代器
魔法方法,属性和迭代器 新式类 通过赋值语句__metaclass=true或者class NewStyle(object)继承内建类object,可以表明是新式类. 构造方法 对象被创建后,会立即调 ...
- iOS证书快要过期怎么办?
说法一: 1.先revoke你的Certificate,重新生成一个新的. 2.Edit一下你的证书,选择新的Certificate. 3.下载覆盖之前的证书,就可以了. 这个帐号发布的产品不会受到影 ...
- mongodb教程二
MongoDB 创建数据库: MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 如果你想查看所有数据库,可以使用 ...
- ecilipse Javadoc文档注释
— 标签 @param @param 空格后面跟上形参(不是数据类型)空格后跟着对该参数的描述. 在描述中第一个名字为该变量的数据类型 对于参数的描述是一个句子,最好不要首字母大写, 如果出现了句号这 ...
- 使用Snort进行入侵检测方法
http://blog.itpub.net/21507458/viewspace-1111587/ http://searchitchannel.techtarget.com/tip/Detect-e ...
- SCALA当的trait
不是特别懂,但感觉和RUBY当中的MIX-IN功能有几分相似,这又扯到了多重继承及JAVA当中的接口虚拟类了.. package com.hengheng.scala class UseTrait { ...
- Qt 中如何捕获窗口停用和激活的消息
最近一直在用Qt做一个简单的俄罗斯方块的游戏,由于要实现一个暂停游戏的功能,就是当鼠标移出正在运行的游戏,点击电脑桌面上的其他位置时,这个时候游戏暂停.在这里把实现过程简单的记录一下,作为一个学习笔记 ...
- QWidget中嵌入win32 window(使用QWindow和QWidget::createWindowContainer)
主要用到QWindow::fromWinId和QWidget::createWindowContainer这两个函数 QWindow::fromWinId用来创建一个win32窗口的代理 QWidge ...
- Android基础知识、四大组件(转)
Android应用程序使用java语言编写的.Android SDK工具将所有的数据和资源文件以及代码进行编译,打包称为一个apk文件.一个apk文件中的所有代码被认为是一个应用,android系统的 ...