C# XML读写实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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读写实例的主要内容,如果未能解决你的问题,请参考以下文章

(23)c#传智:单例模式,XML读写,委托,匿名函数,Lamda,多播委托

创建片段而不从 java 代码实例化它

C# 读写App.config配置文件的方法

C# 读写XML文件的方法

C#读取XML文件的基类实现

C# 读写xmlexcelwordaccess