C# XML读写实例
一、使用System.Xml
实例:完成如下格式配置文件的读写操作:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE doc[]>
<root>
<DatabaseInfo>
<HostName>127.0.0.1</HostName>
<DatabaseName>orcl</DatabaseName>
<UserName>scott</UserName>
<Password>scott</Password>
</DatabaseInfo>
</root>
实现代码:
//读操作
public static string getConectStringXml()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(DBConfigFilePath); //加载XML文档 string xpath = "/root";
XmlNode xmlNode = xmlDoc.SelectSingleNode(xpath);
if (xmlNode != null)
{
xmlNode = xmlNode.SelectSingleNode("/root/DatabaseInfo");
var tst = xmlNode.SelectSingleNode("/root/DatabaseInfo/HostName");
string hostName = tst.InnerXml;
string sid = xmlNode.SelectSingleNode("/root/DatabaseInfo/DatabaseName").InnerXml;
string uid = xmlNode.SelectSingleNode("/root/DatabaseInfo/UserName").InnerXml;
string pwd = xmlNode.SelectSingleNode("/root/DatabaseInfo/Password").InnerXml; StringBuilder connectStr = new StringBuilder();
connectStr.Append("Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=");
connectStr.Append(hostName);
connectStr.Append(")(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=");
connectStr.Append(sid);
connectStr.Append(")));User Id=");
connectStr.Append(uid);
connectStr.Append("; Password =");
connectStr.Append(pwd);
connectStr.Append(";Unicode=True");
connectionString = connectStr.ToString();
}
return connectionString;
} //写操作
public static void setConectStringXml(string hostName,string sid,string uid,string pwd)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(DBConfigFilePath); //加载XML文档
string xpath = "/root";
XmlNode xmlNode = xmlDoc.SelectSingleNode(xpath);
if (xmlNode != null)
{
xmlNode = xmlNode.SelectSingleNode("/root/DatabaseInfo");
var subNode = xmlNode.SelectSingleNode("/root/DatabaseInfo/HostName");
subNode.InnerXml = hostName;
subNode = xmlNode.SelectSingleNode("/root/DatabaseInfo/DatabaseName");
subNode.InnerXml = sid;
subNode = xmlNode.SelectSingleNode("/root/DatabaseInfo/UserName");
subNode.InnerXml = uid;
subNode = xmlNode.SelectSingleNode("/root/DatabaseInfo/Password");
subNode.InnerXml = pwd;
xmlDoc.Save(DBConfigFilePath);
}
}
C# XML读写实例的更多相关文章
- NFC读写实例
package com.sy.nfc.test; import java.io.IOException; import android.nfc.NdefMessage; import android. ...
- 【Python】Python XML 读写
class ACTIVE_FILE_PROTECT_RULE_VIEW(APIView): renderer_classes = (JSONRenderer, BrowsableAPIRenderer ...
- XML读写工具
import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import j ...
- Python中xml.etree.ElementTree读写xml文件实例
import osimport xml.etree.ElementTree as ET'''Python 标准库中,提供了6种可以用于处理XML的包,本文举实例说明第6种1.xml.dom2.xml. ...
- xml读写文件实例
在某个通讯中需要向服务器发送请求xml,格式例子如下: <?xml version="1.0" encoding="UTF-8"?> <ROO ...
- net8:XML的读写操作【广告控件的XML文件实例】
原文发布时间为:2008-08-05 -- 来源于本人的百度文章 [由搬家工具导入] 【用了datalist控件,datalist控件自己学会,主要知道其他按钮COMMANDNAME属性应该改为edi ...
- 网站的配置文件XML读写
网站的配置信息一般都写入到XML中,以下是简单的对xml的读写操作,仅供参考. 读操作: XmlDocument xmlDoc = new XmlDocument(); XmlReaderSettin ...
- SAX方式解析XML文件实例
books.XML文件: 书籍book.java实体类: public class Book { private String id; private String name; private Str ...
- UE4 Xml读写
UE4自带一个XmlParser,可以很方便的实现Xml的读写. 1,在PublicDependencyModuleNames.AddRange中添加XmlParser. 2,include XmlP ...
随机推荐
- 线段树 hdu4046
Panda Time Limit: 10000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 2016HUAS_ACM暑假集训3C - Til the Cows Come Home
单源最短路径,首先想到的是Dijkstra.Dijkstra算法的思路就不啰嗦了,概括起来就是时刻保持当前节点到目标节点的距离最短. 题目大意(不进行翻译解释了,就抽离为图来表达):有N个顶点和T条边 ...
- C# 托管资源与非托管资源
在.net 编程环境中,系统的资源分为托管资源和非托管资源. 托管资源: Net平台中,CLR为程序员提供了一种很好的内存管理机制,使得程序员在编写代码时不要显式的去释放自己使用的内存资源(这些在先前 ...
- [转]Dll注入经典方法完整版
Pnig0s1992:算是复习了,最经典的教科书式的Dll注入. 总结一下基本的注入过程,分注入和卸载 注入Dll: 1,OpenProcess获得要注入进程的句柄 2,VirtualAllocEx在 ...
- Spring学习 Ioc篇(三)
1.在注解注入方式中,首先要在xml中引入如下的红线的命名空间: <?xml version="1.0" encoding="UTF-8" ?> & ...
- [MySQL] SQL_ERROR 1032解决办法
一.缘由: 在主主同步的测试环境,由于业务侧没有遵循同一时间只写一个点的原则,造成A库上删除了一条数据,B库上在同时更新这条数据. 由于异步和网络延时,B的更新event先到达A端执行,造成A端找不到 ...
- 文件_ _android从资源文件中读取文件流并显示的方法
======== 1 android从资源文件中读取文件流并显示的方法. 在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样: private ...
- 使用ADD_CUSTOM_COMMAND 添加自定义命令
e.g. ADD_CUSTOM_COMMAND( TARGET world_server COMMAND cp ${CMAKE_SOURCE_DIR}/CMak ...
- .net 中生成二维码的组件
http://qrcodenet.codeplex.com/
- dataguard 归档丢失(主库中无此丢失归档处理),备库基于SCN恢复
dataguard 归档丢失(主库中无此丢失归档处理),备库基于SCN恢复 环境: OS: CentOS 6.5 DB: Oracle 10.2.0.5 1.主备库环境 主库: SQL> sel ...