C# 关于对XML文件的写入读取、删除、修改操作

1、查询节点信息:
      实体类成员:

    class user
    {
        public string name { get; set; }
        public int age { get; set; }
        public string sex { get; set; }
    }

      查询节点成员信息:

            XmlDocument xml = new XmlDocument();
            XmlReaderSettings settings = new XmlReaderSettings();
            settings.IgnoreComments = true;//忽略xml文件中的注释
            XmlReader xmlReader = XmlReader.Create(@"../../DataXml.xml", settings);
            xml.Load(xmlReader);

            XmlNode node = xml.SelectSingleNode("users");//查询根节点
            //查询根节点中的所有子节点
            XmlNodeList nodeList = node.ChildNodes;
            List<user> list = new List<user>();
            foreach (XmlNode nodeItem in nodeList)
            {
                user user = new user();
                XmlElement xEle = (XmlElement)nodeItem;
                XmlNodeList nodes = xEle.ChildNodes;
                user.name = nodes.Item(0).InnerText;
                user.age = int.Parse(nodes.Item(1).InnerText);
                user.sex = nodes.Item(2).InnerText;
                list.Add(user);
            }
            xmlReader.Close();

在这里插入图片描述
2、新增节点信息:

            user userInfo = new user() { name = txt_name.Text, age = int.Parse(txt_age.Text), sex = txt_sex.Text };
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(@"../../DataXml.xml");

            XmlNode xNode = xmlDoc.SelectSingleNode("users");//获取根节点信息
            XmlElement xeChild = xmlDoc.CreateElement("user");
            //利用反射获取这个实体中的成员信息
            Type t = userInfo.GetType();
            PropertyInfo[] properties = t.GetProperties();
            foreach (PropertyInfo perproty in properties)//遍历添加子成员信息
            {
                XmlElement xmlNode = xmlDoc.CreateElement(perproty.Name);//创建一个子子节点
                xmlNode.InnerText = perproty.GetValue(userInfo).ToString();//给这个节点赋值
                xeChild.AppendChild(xmlNode);//将这个节点追加到根节点的下属子节点中去
            }
            xNode.AppendChild(xeChild);//追加自己诶单
            xmlDoc.Save(@"../../DataXml.xml");

在这里插入图片描述
3、删除节点信息:

            XmlDocument doc = new XmlDocument();
            doc.Load(@"../../DataXml.xml");//加载xml文档

            XmlElement xe = doc.DocumentElement;//获取xml文档中的元素
            string xmlNodePath = $"/users/user[name=\"赵照\"]";//要删除的某个节点的路径信息
            XmlElement selectXml = (XmlElement)xe.SelectSingleNode(xmlNodePath);//查询该路径下面的节点信息
            selectXml.ParentNode.RemoveChild(selectXml);//删除该节点信息
            doc.Save(@"../../DataXml.xml");

在这里插入图片描述
4、修改节点信息:

            XmlDocument doc = new XmlDocument();
            doc.Load(@"../../DataXml.xml");//加载xml文档

            XmlElement xe = doc.DocumentElement;//获取xml文档中的元素
            string xmlNodePath = $"/users/user[name=\"赵照\"]";//要删除的某个节点的路径信息
            XmlElement selectXml = (XmlElement)xe.SelectSingleNode(xmlNodePath);//查询该路径下面的节点信息
            selectXml.GetElementsByTagName("name").Item(0).InnerText = "赵照-2019-08-26 修改";
            selectXml.GetElementsByTagName("age").Item(0).InnerText = "33";
            selectXml.GetElementsByTagName("sex").Item(0).InnerText = "男";
            doc.Save(@"../../DataXml.xml");

在这里插入图片描述

    欣赏别人的谈吐,会提高我们的口才;欣赏别人的大度,会开阔我们的心胸;欣赏别人的善举,会净化我们的心灵。欣赏别人其实是少一点挑剔,多一点信任;多一点热情,少一点冷漠;多一点仰视,少一点鄙夷。欣赏多一点,矛盾和误解定会少一点,人与人的距离才会更近一点。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值