C# 讀寫(xiě)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
寫(xiě)XML
string fileName =@"D:\test.xml";
XmlDocument xmlDoc = new XmlDocument();
XmlNode header = xmlDoc.CreateXmlDeclaration("1.0","utf-8",null);
xmlDoc.AppendChild(header);
//創(chuàng)建一級(jí)節(jié)點(diǎn)
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>
/// 創(chuàng)建整個(gè)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
實(shí)體類
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
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
C# 創(chuàng)建EXCEL圖表并保存為圖片的實(shí)例
下面小編就為大家分享一篇C# 創(chuàng)建EXCEL圖表并保存為圖片的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
如何在datatable中使用groupby進(jìn)行分組統(tǒng)計(jì)
如何在datatable中進(jìn)行分組,并且計(jì)算分組后每組的數(shù)量,考慮了一下,可以使用LINQ來(lái)實(shí)現(xiàn)datatable分組,需要的朋友可以參考下2015-08-08
C#(WinForm) ComboBox和ListBox添加項(xiàng)及設(shè)置默認(rèn)選擇項(xiàng)
這篇文章主要介紹了C#(WinForm) ComboBox和ListBox添加項(xiàng)及設(shè)置默認(rèn)選擇項(xiàng)的的相關(guān)資料,需要的朋友可以參考下2014-07-07
C#實(shí)現(xiàn)嵌套循環(huán)的示例代碼
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)嵌套循環(huán)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-09-09
C#使用IronPython調(diào)用Python的實(shí)現(xiàn)
本文主要介紹了C#使用IronPython調(diào)用Python的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
C#中JavaScriptSerializer幫助類用法實(shí)例
這篇文章主要介紹了C#中JavaScriptSerializer幫助類用法,實(shí)例分析了JavaScriptSerializer幫助類處理json字符串時(shí)的技巧,需要的朋友可以參考下2014-12-12

