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);
            }
        }

  

原文地址:https://www.cnblogs.com/yutian/p/5219186.html