本文转自: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的更多相关文章

  1. JAVA读取XML文件并解析获取元素、属性值、子元素信息

    JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取  InputStream   DocumentBuilderFactory   Element     Node 前言 最 ...

  2. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

  3. Winform中实现读取xml配置文件并动态配置ZedGraph的RadioGroup的选项

    场景 Winform中对ZedGraph的RadioGroup进行数据源绑定,即通过代码添加选项: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  4. Winform中自定义xml配置文件后对节点进行读取与写入

    场景 Winform中自定义xml配置文件,并配置获取文件路径: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100522648 ...

  5. 【XML】利用Dom4j读取XML文档以及写入XML文档

    Dom4j简介 dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,它的性能 ...

  6. Java获取路径方法&相对路径读取xml文件方法

    (1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getRequestURI ...

  7. 利用dom4j读取xml文件

    对于xml文件的读取,其实有很多方法,例如:SAX实现方法,DOM4J实现方法 ,DOM 实现方法,JDOM实现方法 等等. 下面,我就说下dom4j的读取方法: 1.首先,肯定要引入第三方jar包. ...

  8. PHP中利用DOM和simplxml读取xml文档

    实例  用DOM获取下列xml文档中所有金庸小说的书名,该xml文档所在位置为 ./books.xml: <?xml version="1.0" encoding=" ...

  9. 利用SAX解析读取XML文件

    xml     这是我的第一个BLOG,今天在看<J2EE应用开发详解>一书,书中讲到XML编程,于是就按照书中的步骤自己测试了起来,可是怎么测试都不成功,后来自己查看了一遍源码,发现在读 ...

随机推荐

  1. CentOS修改yum源为阿里云

    yum的工具,自动去下载某个yum仓库的 rpm软件包,并且自动搜索软件下载软件依赖,如同pip3,npm等包管理工具 yum载linux中的 yum仓库是 /etc/yum.repos.d 并且在这 ...

  2. 微服务 - Eureka注册中心

    我们来解决微服务的第一问题,服务的管理. 服务中心对外提供服务,需要对外暴露自己的地址.而consumer(调用者)需要记录服务提供者的地址.将来地址出现变更,还需要及时更新.这在服务较少的时候并不觉 ...

  3. 2018 Multi-University Training Contest 6

    A.oval-and-rectangle 题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6362 题意:在长半轴为a,短半轴为b的椭圆内部,以y=c( ...

  4. JAVA常见安全问题复现

    地址来源于乌云知识库,作者z_zz_zzz 0x01 任意文件下载 web.xml的配置: <servlet> <description></description> ...

  5. Windows平台下搭建自己的Git服务器

    该文章转自:http://www.codeceo.com/article/windows-git-server.html Gitblit 是一个纯 Java 库用来管理.查看和处理 Git 资料库,相 ...

  6. Celery启动Django项目:Client sent AUTH, but no password is set 错误处理

    celery -A CeleryTest worker -l info [2017-02-22 07:26:52,666: ERROR/MainProcess] consumer: Cannot co ...

  7. 在Ubuntu 16.04上利用Jexus+.Net Core+Linux版SQL Server部署ZKEACMS.Core

    百度传课视频地址:https://chuanke.baidu.com/v5849090-223278-1498090.html 一.SQL Server on Linux的安装 官方文档:https: ...

  8. tensorflow进阶篇-5(反向传播1)

    这里将讲解tensorflow是如何通过计算图来更新变量和最小化损失函数来反向传播误差的:这步将通过声明优化函数来实现.一旦声明好优化函数,tensorflow将通过它在所有的计算图中解决反向传播的项 ...

  9. python 继承 多态

    python 的继承 #-*- coding:utf-8 -*-class A(object): def __init__(self): print('A:我是肯定会执行的!!') def fun(s ...

  10. kmp模式串匹配

    大二的时候百度看不懂,现在大三下学期了百度也看不懂.(实在是不能理解这个next数组究竟是怎么样工作的,为什么会得出那样的结果.)如果有好心人知道的话希望可以联系我告诉我(邮箱:4609019410@ ...