软件编程
位置:首页>> 软件编程>> C#编程>> C# 读写XML(代码分享)

C# 读写XML(代码分享)

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

标签: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

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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com