您的位置:首页 > 编程语言 > C#

C# 读写XML(代码分享)

2017-03-22 09:22 676 查看

读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