XML简单操作(C#)

实现效果如下:

新增文件时的xml如下

<?xml version="1.0" encoding="UTF-8"?>
<Setting>
  <ServerSetting>
    <ServerIP>192.168.3.46</ServerIP>
    <ServerPort Name="端口号">19888</ServerPort>
  </ServerSetting>

</Setting>

修改文件时的xml结构如下:

<?xml version="1.0" encoding="UTF-8"?>
<Setting>
  <ServerSetting>
    <ServerIP>192.168.3.31</ServerIP>
    <ServerPort Name="kkName" tID="001">4031</ServerPort>
  </ServerSetting>
</Setting>

 

C#主要操作代码如下:

 

            string fileUrl = System.Windows.Forms.Application.StartupPath + @"\XX.xml";

            //判断文件是否存在
            if (File.Exists(fileUrl))
            {
                //文件存在,则修改值
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(fileUrl);
                XmlNode xmlNodeIP = xmlDoc.SelectSingleNode("//ServerIP");//查找<ServerIP>的第一个节点
                xmlNodeIP.InnerText = "192.168.3.31";

                XmlNode xmlNodePort = xmlDoc.SelectSingleNode("//ServerPort");//查找<ServerPort>的第一个节点
                xmlNodePort.InnerText = "4031";
                xmlNodePort.Attributes["Name"].Value = "kkName"; //修改现有属性的值
                //增加节点的属性
                XmlAttribute nodeAttribute = xmlDoc.CreateAttribute("tID"); //修改节点,增加一个"tID"属性
                nodeAttribute.Value = "001";
                xmlNodePort.Attributes.Append(nodeAttribute);

                //保存文件
                try
                {
                    xmlDoc.Save(fileUrl);
                    MessageBox.Show("设置已保存.");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

            }
            else
            {
                //文件不存在,则进行创建
                XmlDocument xmlDoc = new XmlDocument();
                //加入XML的声明段落
                xmlDoc.AppendChild(xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null));
                //创建一个根节点(一级)
                XmlElement root = xmlDoc.CreateElement("Setting");
                xmlDoc.AppendChild(root);

                XmlElement rootServer = xmlDoc.CreateElement("ServerSetting");
                root.AppendChild(rootServer);

                //ServerIP
                XmlElement xmlelemServerIP = xmlDoc.CreateElement("ServerIP");
                XmlText xmltextIP = xmlDoc.CreateTextNode("192.168.3.46");
                xmlelemServerIP.AppendChild(xmltextIP);
                xmlDoc.ChildNodes.Item(1).ChildNodes[0].AppendChild(xmlelemServerIP);

                //ServerPort
                XmlElement xmlelemPort = xmlDoc.CreateElement("ServerPort");
                xmlelemPort.InnerText = "19888";//设置文本节点
                xmlelemPort.SetAttribute("Name", "端口号");
                rootServer.AppendChild(xmlelemPort);//添加到<rootServer>节点中

                //保存文件
                try
                {
                    xmlDoc.Save(fileUrl);
                    MessageBox.Show("设置已保存.");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }

 

posted @ 2012-12-18 16:33  LiGang  阅读(207)  评论(0编辑  收藏  举报