C# 操作 XML文件

在软件发展的今天XML变得越来越重要了 App.Config也基本能取代以前的.ini文件。

越来越多的项目开始使用XML来配置项目的属性。那么我们就会增加对XML的操作。前一段时间写了一个实例,现在把对XML的增删改部分拿出来简单说明。虽然简单但是通过这个简单的实例可以做更多的操作。

 

命名空间:using System.Xml;

 

1、向XML中增加元素节点:

            //实例化一个XMLDocument 的对象

            XmlDocument doc = new XmlDocument();

            //装入XML文件
            doc.Load( "XML文件的路径" );

            //找到需要添加节点的根节点
            XmlNode root = doc.SelectSingleNode("需要添加节点的根节点名");

            //创建一个子节点
            XmlElement xel = doc.CreateElement("子节点的名字");

            //设置节点的属性
            xel.SetAttribute("属性名", "属性内容");

            //设置节电的内容
            xel.InnerText = "节点的内容";
            root.AppendChild(xel);

            //保存这个XML文件
            doc.Save("XML文件的路径");

 

2、更新XML中的节点:

            XmlDocument doc = new XmlDocument();
            doc.Load("XML文件的路径");

            //获得根目录下的所有子节点
            XmlNodeList nodeList = doc.SelectSingleNode("根节点名").ChildNodes;
            foreach (XmlNode xn in nodeList)
            {

                //获取当前节点
                XmlElement xel = (XmlElement)xn;
                if (xel.GetAttribute("属性名称") == "")
                {
                    xel.SetAttribute("属性名称", "内容");
                    xel.InnerText = "节点内容";
                    break;
                }
            }
            doc.Save("XML文件的路径");

 

3、删除XML中的节点

            XmlDocument doc = new XmlDocument();
            doc.Load("XML文件的路径");
            XmlNodeList nodeList = doc.SelectSingleNode("根节点名").ChildNodes;
            foreach (XmlNode xn in nodeList)
            {
                XmlElement xel = (XmlElement)xn;
                if (xel.GetAttribute("属性名称") == "")
                {

                    //删除整个节点
                    xel.ParentNode.RemoveChild(xel);
                    break;
                }
            }
            doc.Save("XML文件的路径");

 

总结:通过以上三个方法完全可以实现对XML的基本操作。不管在复杂的XML文件通过上面的演变也可以完成增删改的功能。

            程序的难易程度取决于每个程序员的思路。好的思路可以提高代码的质量和可阅读性。

            上述如果有不对的请大家多给意见。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值