当前位置: 首页 > 编程笔记 >

C# 读写XML(代码分享)

郭胤
2023-03-14
本文向大家介绍C# 读写XML(代码分享),包括了C# 读写XML(代码分享)的使用技巧和注意事项,需要的朋友参考一下

读XML

XmlDocument xd = new XmlDocument(); 
      string fileName = @"D:\test.xml";
      xd.Load(fileName);
      XmlNodeList xmlNoteList = xd.GetElementsByTagName("user");
      List<User> users = new List<User>();
     
      foreach (XmlElement item in xmlNoteList)
      {
        User user = new User();
        user.Id = int.Parse(item.GetAttribute("id"));
        XmlNodeList xnl = item.ChildNodes;
        user.Name = xnl[0].InnerXml;
        user.Age =int.Parse(xnl[1].InnerXml);
        user.Gender = xnl[2].InnerXml;
        users.Add(user);
      }
      foreach (var item in users)
      {
        Console.WriteLine(item);
      }

Read XML
<?xml version="1.0" encoding="gb2312"?>
<users>
  <user id='1'>
    <name >张三</name>
    <age>15</age>
    <gender>男</gender>
  </user>
  <user id='2'>
    <name>李四</name>
    <age>14</age>
    <gender>男</gender>
  </user>
</users>

test.xml

写XML

string fileName =@"D:\test.xml";
      XmlDocument xmlDoc = new XmlDocument();
      XmlNode header = xmlDoc.CreateXmlDeclaration("1.0","utf-8",null);
      xmlDoc.AppendChild(header);
      //创建一级节点
      XmlElement rootNode = xmlDoc.CreateElement("users");
      List<User> list = GetUsers();
      foreach (var item in list)
      {
        XmlElement xn = InserUser(item,xmlDoc);
        rootNode.AppendChild(xn);
      }  
      xmlDoc.AppendChild(rootNode);
      xmlDoc.Save(fileName);
    }
    /// <summary>
    /// 创建整个user的元素
    /// </summary>
    /// <param name="user"></param>
    /// <param name="xmlDoc"></param>
    /// <returns></returns>
    private static XmlElement InserUser(User user, XmlDocument xmlDoc)
    {
      XmlElement xn = xmlDoc.CreateElement("user");
      xn.SetAttribute("id", user.Id + "");
      xn.AppendChild(GetXmlNode(xmlDoc,"name",user.Name));
      xn.AppendChild(GetXmlNode(xmlDoc, "age", user.Age + ""));
      xn.AppendChild(GetXmlNode(xmlDoc, "gender", user.Gender));
      return xn;
    }
    private static XmlElement GetXmlNode(XmlDocument xmlDoc,string name,string value)
    {
      XmlElement xn = xmlDoc.CreateElement(name);
      xn.InnerText = value;
      return xn;
    }
    private static List<User> GetUsers()
    {
      List<User> list = new List<User>();
      for (int i = 0; i < 10; i++)
      {
        User user = new User();
        user.Id = i;
        user.Name = "Name" + i;
        user.Age = 15;
        user.Gender = "男";
        list.Add(user);
      }
      return list;
    }

Write XML

实体类

class User
  {
    public int Id { set; get; }
    public string Name { get; set; }
    public int Age { get; set; }
    public string Gender { set; get; }
    public override string ToString()
    {
      return Id +","+Name + "," +Age+"," + Gender;
    }
  }

Entity

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍C++文件读写代码分享,包括了C++文件读写代码分享的使用技巧和注意事项,需要的朋友参考一下 编写一个程序,统计data.txt文件的行数,并将所有行前加上行号后写到data1.txt文件中。 算法提示: 行与行之间以回车符分隔,而getline()函数以回车符作为终止符。因此,可以采用getline()函数读取每一行,再用一个变量i计算行数。 (1)实现源代码 再来一个示例: 下面

  • 本文向大家介绍C# FileStream读写的文本操作代码分析,包括了C# FileStream读写的文本操作代码分析的使用技巧和注意事项,需要的朋友参考一下 FileStream对象表示在磁盘或网络路径上指向文件的流。 可以使用FileStream 类对文件系统上的文件进行读取、写入、打开、关闭等。 废话不说,开始操作。 1.拖好控件、必须滴,将除了要写文件的文本框外,其他的文本框的 ReadO

  • 本文向大家介绍C#微信分享代码,包括了C#微信分享代码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C#微信分享的具体代码,供大家参考,具体内容如下 微信分享代码,先引入: 获取签名: 分享代码: wxsign输出的json 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍手写代码:二分查找的代码?相关面试题,主要包含被问及手写代码:二分查找的代码?时的应答技巧和注意事项,需要的朋友参考一下 参考回答:  

  • 本文向大家介绍C#计算器编写代码,包括了C#计算器编写代码的使用技巧和注意事项,需要的朋友参考一下 利用C#编写一个计算器。如下图,能够完成基本的四则运算。 当然这个程序甚至还不上Windows附件那个自带的多功能计算器。  不过这个程序的逻辑还是非常值得思考的,首先你要考虑好用户按+ - * / =等运算符号、数字键之后计算器的状态记录问题。  然后要防止多次按某一个键的问题。比如小数点.就不应

  • 本文向大家介绍thinkphp下MySQL数据库读写分离代码剖析,包括了thinkphp下MySQL数据库读写分离代码剖析的使用技巧和注意事项,需要的朋友参考一下 当采用原生态的sql语句进行写入操作的时候,要用execute,读操作要用query。 MySQL数据主从同步还是要靠MySQL的机制来实现,所以这个时候MySQL主从同步的延迟问题是需要优化,延迟时间太长不仅影响业务,还影响用户体验。