• C#


    XML

    1.介绍

    eXtensible Markup Language (可扩展标记语言)

    Xml就是用一种格式化的方式来存储数据,并且是文本文件。

    Xml要求所有的标记必须成对出现,必须有一个根节点且只有一个,区分大小写。

    2. 通过C#创建

    注意:如果想要通过DataSet读取XMl,则根节点下所有子节点名称必须一致。

       XDocument doc = new XDocument();
       // 1.创建声明节点,也可不写,会自动生成
       //XDeclaration des = new XDeclaration("1.0","utf-8","yes");
       //doc.Declaration = des;
       // 2.创建根节点
       XElement root = new XElement("Users");
       doc.Add(root);
    
       // 3.创建子节点并设置子节点属性,向子节点中添加节点
       XElement user1 = new XElement("User");//子节点名称
       user1.SetAttributeValue("Id", 1);
       XElement name1 = new XElement("Name","Name1");
       XElement age1 = new XElement("Age","18");
       user1.Add(name1, age1);
    
       XElement user2 = new XElement("User"); //子节点名称
       user2.SetAttributeValue("Id", 1);
       XElement name2 = new XElement("Name","Name2");
       XElement age2= new XElement("Age","19");
       user2.Add(name2, age2);
    
       root.Add(user1, user2); //4.将子节点添加根节点之下
       doc.Save("Test.xml");
    
       var ds = new DataSet();
       ds.ReadXml("Test.xml");
       this.dgv.DataSource = ds.Tables[0];
    
    

    结果:

    <?xml version="1.0" encoding="utf-8"?>
    <Users>
      <User Id="1">
        <Name>Name1</Name>
        <Age>18</Age>
      </User>
      <User Id="2">
        <Name>Name2</Name>
        <Age>19</Age>
      </User>
    </Users>
    

    3.查询

    根据节点属性值查找指定节点。

        var result = from t in doc.Descendants("Usre")  //所有子节点中查找
                     //from t in doc.Root.Elements("User") //根节点下子节点查找
                     where t.Attribute("Id").Value == "2"
                     select new {
                         Name=t.Element("Name").Value,
                         Age=t.Element("Age").Value
                     };
        this.dgv.DataSource = result.ToList();
    

    4.修改和删除

    找到指定节点后直接修改就可以
     var result = from t in doc.Descendants("User")  //所有子节点中查找
                  where t.Attribute("Id").Value == "2"
                  select t;
     result.First().Element("Name").Value = "Name22"; //修改
     result.First().Remove(); //删除
     doc.Save("Test.xml"); //保存
    

    5.读取XML文件

    XDocument doc = XDocument.Load("xml.xml");
    
  • 相关阅读:
    Python 基础知识----数据类型
    drf 之序列化组件
    Django Rest framework 框架之解析器
    css选择器
    Python 爬虫 解析库的使用 --- Beautiful Soup
    Python 爬虫 解析库的使用 --- XPath
    动态渲染页面爬取(Python 网络爬虫) ---Selenium的使用
    HDU 1014(互质数 **)
    HDU 6432(不连续环排列 ~)
    HDU 6433(2的n次方 **)
  • 原文地址:https://www.cnblogs.com/-Tiger/p/8023159.html
Copyright © 2020-2023  润新知