C# 讀寫XML(代碼分享)
更新時間:2017年03月22日 09:22:57 作者:X.S
本文主要介紹了C# 讀寫XML的相關(guān)知識,具有很好的參考價值。下面跟著小編一起來看下吧
讀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);
//創(chuàng)建一級節(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)建整個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
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
C# Dynamic之:ExpandoObject,DynamicObject,DynamicMetaOb的應(yīng)用(下)
本篇文章是對C#中ExpandoObject,DynamicObject,DynamicMetaOb的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
VS2022+unity3D開發(fā)環(huán)境搭建的實現(xiàn)步驟
本文主要介紹了VS2022+unity3D開發(fā)環(huán)境搭建的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
C# WinForm 登錄界面的圖片驗證碼(區(qū)分大小寫+不區(qū)分大小寫)
這篇文章主要介紹了C# WinForm 登錄界面的圖片驗證碼(區(qū)分大小寫+不區(qū)分大小寫),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
C#控制臺程序如何發(fā)布到服務(wù)器Linux上運(yùn)行
這篇文章主要給大家介紹了關(guān)于C#控制臺程序如何發(fā)布到服務(wù)器Linux上運(yùn)行的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2021-11-11
分享兩種實現(xiàn)Winform程序的多語言支持的多種解決方案
本篇文章主要介紹了分享兩種實現(xiàn)Winform程序的多語言支持的多種解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧。2017-02-02
深入理解C# abstract和virtual關(guān)鍵字
深入理解C# abstract和virtual關(guān)鍵字,學(xué)習(xí)c#的朋友可以參考下。2011-06-06

