[转]winform利用读取xml获取webconfig
本文转自:https://www.cnblogs.com/0banana0/archive/2012/02/02/2335727.html
一、利用读取xml获取web.config中的数据库连接
参考:传送门
#region 利用读取xml获取webconfig
private static String GetXML()
{
//待修改
String f = System.Windows.Forms.Application.StartupPath;
f = f.Replace("调试", "CommonMethod\\Web.config");//对路径进行处理
XmlDocument doc = new XmlDocument();
doc.Load(f);
XmlNodeList add = doc.SelectNodes("//appSettings/add");
String DBString = "";
foreach (XmlNode node in add)
{
if (node.Attributes["key"].Value.Equals("strConn"))
{
DBString = node.Attributes["value"].Value;
break;
} }
return DBString;
}
二、获取webconfig的路径
System.IO.Directory.GetCurrentDirectory()
这个方法,会随着你的当前系统路径的改变而改变.比如你打开一个openFileDialog那么,再次获得路径就不对了。
string m_PathStr = Application.ExecutablePath;
是能获得全部,包括exe文件名的一串东西比如c:\abc\abc.exe
Application.StartupPath
能够获得当前的运行路径,不包括执行文件名
比如c:\abc\(又没有那个“\|”不记得了)
自己分析你要那个吧
参考:传送门
三、利用xml读写web.config
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.IO;
using System.Drawing.Imaging;
using System.Data.SqlClient;
using System.Windows.Forms.Integration; namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} String filePath = "";
private void openFile_Click(object sender, EventArgs e)
{
DataTable dataTable1 = new DataTable();
System.Data.DataRow dr;
dataTable1.Columns.Add(new System.Data.DataColumn("key", typeof(System.String)));
dataTable1.Columns.Add(new System.Data.DataColumn("value", typeof(System.String)));
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
filePath = openFileDialog1.FileName;
if (!filePath.ToLower().EndsWith("web.config"))
{
MessageBox.Show("不是web.config");
return;
}
XmlDocument doc = new XmlDocument();
doc.Load(filePath);
XmlNodeList add = doc.SelectNodes("//appSettings/add");
foreach (XmlNode node in add)
{
dr = dataTable1.NewRow();
dr[0] = node.Attributes["key"].Value;
dr[1] = node.Attributes["value"].Value;
dataTable1.Rows.Add(dr);
}
this.dataGridView1.DataSource = dataTable1;
}
} private void saveButton_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(filePath);
XmlNode appSettings = doc.SelectSingleNode("//appSettings");
appSettings.RemoveAll();
XmlNodeList add = doc.SelectNodes("//appSettings/add");
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (dataGridView1.Rows[i].Cells[1].Value != null && dataGridView1.Rows[i].Cells[0].Value != null)
{
String key = dataGridView1.Rows[i].Cells[0].Value.ToString();
String value = dataGridView1.Rows[i].Cells[1].Value.ToString();
if (key.Equals("") || value.Equals("")) return; XmlNode newNode = doc.CreateElement("add");
XmlAttribute attKey = doc.CreateAttribute("key");
attKey.Value = key;
newNode.Attributes.Append(attKey);
XmlAttribute attVaue = doc.CreateAttribute("value");
attVaue.Value = value;
newNode.Attributes.Append(attVaue);
appSettings.AppendChild(newNode); }
doc.Save(filePath);
}
} }
}
[转]winform利用读取xml获取webconfig的更多相关文章
- JAVA读取XML文件并解析获取元素、属性值、子元素信息
JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取 InputStream DocumentBuilderFactory Element Node 前言 最 ...
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //tr ...
- Winform中实现读取xml配置文件并动态配置ZedGraph的RadioGroup的选项
场景 Winform中对ZedGraph的RadioGroup进行数据源绑定,即通过代码添加选项: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...
- Winform中自定义xml配置文件后对节点进行读取与写入
场景 Winform中自定义xml配置文件,并配置获取文件路径: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100522648 ...
- 【XML】利用Dom4j读取XML文档以及写入XML文档
Dom4j简介 dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,它的性能 ...
- Java获取路径方法&相对路径读取xml文件方法
(1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getRequestURI ...
- 利用dom4j读取xml文件
对于xml文件的读取,其实有很多方法,例如:SAX实现方法,DOM4J实现方法 ,DOM 实现方法,JDOM实现方法 等等. 下面,我就说下dom4j的读取方法: 1.首先,肯定要引入第三方jar包. ...
- PHP中利用DOM和simplxml读取xml文档
实例 用DOM获取下列xml文档中所有金庸小说的书名,该xml文档所在位置为 ./books.xml: <?xml version="1.0" encoding=" ...
- 利用SAX解析读取XML文件
xml 这是我的第一个BLOG,今天在看<J2EE应用开发详解>一书,书中讲到XML编程,于是就按照书中的步骤自己测试了起来,可是怎么测试都不成功,后来自己查看了一遍源码,发现在读 ...
随机推荐
- Azure DevOps Server (TFS)中代码文件换行问题解决方案(Git)
之前写过一篇博客"探索TFS Git 库文件换行(CRLF)的处理方式",主要是针对TFVC代码库的. 下面这篇文章说明如何在TFS的Git库中处理代码换行的问题. 概述 在Azu ...
- 【转】C#模拟http 发送post或get请求
原文地址:http://www.cnblogs.com/xssxss/archive/2012/07/03/2574554.html 模拟POST Json public static string ...
- time clock getrusage clock_gettime gettimeofday timespec_get 对比
http://stackoverflow.com/questions/12392278/measure-time-in-linux-time-vs-clock-vs-getrusage-vs-cloc ...
- 浏览器特权域XSS漏洞
导语:科普什么是浏览器特权域XSS,可以用来干什么? 作者:天析 团队:Arctic Shell 为什么科普这个? 今天在群里看到有表姐说这个,然后恰好又有学姐在问什么是特权域XSS,于是就来说说这个 ...
- GC日志时间分析
在GC日志里,一条完整的GC日志记录最后,会带有本次GC所花费的时间,如下面这一条新生代GC: [GC [DefNew: 3298K->149K(5504K), secs] [Times: us ...
- day 73 初学vue (1)
前情提要: vue 框架的初学习, 主要是,指令,属性,函数,计算属性,监听属性,钩子,生命周期,过滤器,阻止事件和综合案例todo list 学习准备,感谢学习资源: vue 官网:https:// ...
- git中多账号切换问题的解决方案(转)
作者:知乎用户链接:https://www.zhihu.com/question/23028445/answer/416231632来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- php获取全选checkbox多个值
<form name="myform" action="index2.php" method="post"> ...
- docker网络之overlay
使用docker network的好处是:在同一个网络上的容器之间可以相互通信,而无需使用expose端口特性 本文使用docker-swarm进行overlay网络的分析.使用2个vmware模拟2 ...
- js便签笔记(10) - 分享:json.js源码解读笔记
1. 如何理解“json” 首先应该意识到,json是一种数据转换格式,既然是个“格式”,就是个抽象的东西.它不是js对象,也不是字符串,它只是一种格式,一种规定而已. 这个格式规定了如何将js对象转 ...