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# 读写XML(代码分享)

基础教程推荐