xml操作

    小菜学习了一下vs操作xml。下面来总结一下。

首先引入命名空间,xml的命名空间。using System.Xml;

xml的对象
            //1、创建一个XML文档对象
            XmlDocument doc = new XmlDocument();
            //2、创建第一行描述信息
            XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
            //3、将创建的第一行数据添加到文档中
            doc.AppendChild(dec);
            //4、给文档添加根节点
            XmlElement books = doc.CreateElement("Books");
            //5、将根节点添加给文档对象
            doc.AppendChild(books);

xml的根节点
         对xml的操作首先要获得根节点
         //XmlDocument doc = new XmlDocument();
         //doc.Load("OrDER.xml");

xml的子节点的添加,删除
    添加: XmlElement customerName = doc.CreateElement("CustomerName");
            customerName.InnerXml = "刘洋";
            order.AppendChild(customerName);
    删除:
             XmlElement root = doc.DocumentElement;

            XmlNode xn = root.SelectSingleNode("/Users/user[@id='"+id+"']");

            root.RemoveChild(xn);

xml的属性的添加删除
      添加: XmlElement orderItem2 = doc.CreateElement("OrderItem");
             orderItem2.SetAttribute("Name", "雨衣");
             orderItem2.SetAttribute("Count", "1");
             items.AppendChild(orderItem2);
       删除 :可以利用xpath得到节点node
             xn.Attributes.RemoveNamedItem("Count");

xml的节点的获得,属性的获得,文本值
    XmlNodeList nList = root.ChildNodes;

            //获得根节点下的所有信息,应该是已第一个字节点为单位
            foreach (XmlNode item in nList)
            {
                person.Add(new Person() { ID = int.Parse(item.Attributes["id"].Value), Name = item["name"].InnerText, Age = Convert.ToInt32(item["age"].InnerText), Gender = Convert.ToChar(item["gender"].InnerText), Password = item["password"].InnerText });
            }

xml中xpath的使用
        XmlDocument doc = new XmlDocument();
        doc.Load("order.xml");
        //获得根节点
        XmlElement order = doc.DocumentElement;
        XmlNode xn = order.SelectSingleNode("/Order/Items/OrderItem[@Name='雨衣']");//相当于路径,并且子节点的属性Name=“雨衣”;

       Console.WriteLine(xn.Attributes["Name"].Value);//属性的值,


xml中所有子节点中list循环
          //首先加载xml
            //list添加类
            //绑定数据源
            List<Person> person = new List<Person>();

            XmlDocument doc = new XmlDocument();
            doc.Load("haodongxi.xml");
            XmlElement root = doc.DocumentElement;//获得根节点

            XmlNodeList nList = root.ChildNodes;

            //获得根节点下的所有信息,是以及第一个大的子字节点为单位
            foreach (XmlNode item in nList)
            {
                person.Add(new Person() { ID = int.Parse(item.Attributes["id"].Value), Name = item["name"].InnerText, Age = Convert.ToInt32(item["age"].InnerText), Gender = Convert.ToChar(item["gender"].InnerText), Password = item["password"].InnerText });
            }

对xml进行操作还需要保存。

            doc.Save("order.xml");
            Console.WriteLine("删除成功");


看一下xml文件。

<?xml version="1.0" encoding="utf-8"?>
<Users>
  <user id="994">
    <name>123</name>
    <age>123</age>
    <gender>女</gender>
    <password>123</password>
  </user>
  <user id="360"> <!--id为属性-->
    <name>甄志丙</name> <!--name为节点,甄志丙是节点的值-->
    <password>haha</password>
    <gender>女</gender>
    <age>43</age>
  </user>
  <user id="123">
    <name>汉子</name>
    <password>123abc</password>
    <age>18</age>
    <gender>男</gender>
  </user>
  <user id="121212">
    <name>新来哒</name>
    <age>11</age>
    <gender>男</gender>
    <password>xinlada</password>
  </user>
  <user id="222">
    <name>222</name>
    <age>222</age>
    <gender>男</gender>
    <password>2222</password>
  </user>
</Users>

对于xml操作的路径(xml所在的路径)。








   
  

   

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值