C# 读写XML(代码分享)

作者:X.S 时间:2022-11-05 15:28:10 

读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

来源:http://www.cnblogs.com/hhzz/p/6592452.html

标签:C#,读,写,XML
0
投稿

猜你喜欢

  • JavaFx Tooltip悬浮提示使用及自定义代码详解

    2023-05-11 15:06:05
  • C#基于Socket实现简单聊天室功能

    2023-05-09 01:17:32
  • java子类调用父类的方法中包含子类重写的实例方法

    2023-12-22 21:14:50
  • Java中的这些骚操作你不能不知道!!!

    2022-07-08 12:28:14
  • c# 实现雪花分形的示例

    2023-05-10 02:59:56
  • C# PropertyGrid使用案例详解

    2022-03-18 20:51:51
  • 在C#中使用MSMQ的方法

    2023-04-05 20:28:29
  • Mybatis-Plus注入SQL原理分析

    2022-11-09 21:17:22
  • Java编程关于子类重写父类方法问题的理解

    2022-05-25 05:00:32
  • Java发送http请求的示例(get与post方法请求)

    2021-09-29 23:21:40
  • C#多线程之Thread类详解

    2023-07-23 05:34:46
  • Java定时器Timer简述

    2023-07-20 19:17:16
  • 解决IDEA maven 项目修改代码不生效,mvn clean、install后才生效

    2022-06-19 12:17:06
  • Springboot内置tomcat配置虚拟路径过程解析

    2021-12-21 06:06:03
  • SpringMVC使用RESTful接口案例详解

    2022-08-08 23:41:52
  • java计算两点间的距离方法总结

    2023-12-21 17:32:45
  • 详解C#如何优雅地终止线程

    2023-11-21 11:41:31
  • Idea servlet映射方法优缺点对比

    2023-06-12 23:59:34
  • EditPlus运行java时从键盘输入数据的操作方法

    2023-04-16 21:18:45
  • springboot+jwt+springSecurity微信小程序授权登录问题

    2022-10-13 03:36:22
  • asp之家 软件编程 m.aspxhome.com