一、使用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);
}
}
浙公网安备 33010602011771号