C# 读写XML(代码分享)

所属分类: 软件编程 / C#教程 阅读数: 43
收藏 0 赞 0 分享

读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#使用oledb读取excel表格内容到datatable的方法

这篇文章主要介绍了C#使用oledb读取excel表格内容到datatable的方法,涉及C#操作oledb及datatable的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#使用oledb操作excel文件的方法

这篇文章主要介绍了C#使用oledb操作excel文件的方法,涉及C#中oledb操作excel的相关技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#使用IHttpModule接口修改http输出的方法

这篇文章主要介绍了C#使用IHttpModule接口修改http输出的方法,涉及C#操作IHttpModule接口的相关技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#给图片加水印的简单实现方法

这篇文章主要介绍了C#给图片加水印的简单实现方法,涉及C#操作图片的相关技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#生成随机数的方法小结

这篇文章主要介绍了C#生成随机数的方法,实例总结了C#生成随机数的相关技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#使用jQuery实现无刷新评论提交的方法

这篇文章主要介绍了C#使用jQuery实现无刷新评论提交的方法,涉及C#结合jQuery进行Ajax操作的相关技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#读取中文文件出现乱码的解决方法

这篇文章主要介绍了C#读取中文文件出现乱码的解决方法,涉及C#中文编码的操作技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#图像对比度调整的方法

这篇文章主要介绍了C#图像对比度调整的方法,涉及C#实现图像对比度操作的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#图像灰度级拉伸的方法

这篇文章主要介绍了C#图像灰度级拉伸的方法,涉及C#灰度操作的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#图像线性变换的方法

这篇文章主要介绍了C#图像线性变换的方法,涉及C#操作图像线性变换的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多