C# 創(chuàng)建,讀取,寫(xiě)入XML文件
更新時(shí)間:2017年03月05日 10:27:44 作者:lengjing126
本篇文章主要介紹了C# 創(chuàng)建,讀取,寫(xiě)入XML文件的方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
Xml文件如下:
<?xml version="1.0" encoding="utf-8"?> <Advertisements> <Ad> <ImageUrl>001.jpg</ImageUrl> <NavigateUrl>001.aspx</NavigateUrl> <Impressions>10</Impressions> <Keyword>gucas01</Keyword> </Ad> <Ad> <ImageUrl>002.jpg</ImageUrl> <NavigateUrl>002.aspx</NavigateUrl> <Impressions>20</Impressions> <Keyword>gucas02</Keyword> </Ad> <Ad> <ImageUrl>003.jpg</ImageUrl> <NavigateUrl>003.aspx</NavigateUrl> <Impressions>30</Impressions> <Keyword>gucas03</Keyword> </Ad> <Ad> <ImageUrl>004.jpg</ImageUrl> <NavigateUrl>004.aspx</NavigateUrl> <Impressions>40</Impressions> <Keyword>gucas04</Keyword> </Ad> <Ad> <ImageUrl>005.jpg</ImageUrl> <NavigateUrl>005.aspx</NavigateUrl> <Impressions>50</Impressions> <Keyword>gucas05</Keyword> </Ad> <Ad> <ImageUrl>google.gif</ImageUrl> <NavigateUrl>http://www.google.com</NavigateUrl> <Impressions>30</Impressions> <Keyword>google</Keyword> </Ad> </Advertisements>
對(duì)XML文件的操作
/// <summary>
/// 創(chuàng)建XML文件
/// </summary>
/// <param name="filename"></param>
public void CreateXmlFile(string filename)
{
XmlDocument xmldoc = new XmlDocument();
XmlNode node;
node = xmldoc.CreateXmlDeclaration("1.0", "utf-8", null);
xmldoc.AppendChild(node);
XmlNode root = xmldoc.CreateElement("Users");
xmldoc.AppendChild(root);
CreateNode(xmldoc, root, "UserName", "zhengyd");
CreateNode(xmldoc, root, "Email", "zhengyd@gucas.ac,cn");
CreateNode(xmldoc, root, "Url", "www.gucas.an,cn");
CreateNode(xmldoc, root, "Age", "27");
try
{
xmldoc.Save(Server.MapPath(filename));
Response.Write("創(chuàng)建XML文件myxml.xml成功!");
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
/// <summary>
/// 寫(xiě)入XML文件
/// </summary>
/// <param name="file"></param>
public void WriteXmlFile(string file)
{
XmlDocument xmdoc = new XmlDocument();
try
{
xmdoc.Load(Server.MapPath(file));
XmlNode root = xmdoc.SelectSingleNode("Advertisements");
if (root != null)
{
XmlNode node = xmdoc.CreateNode(XmlNodeType.Element, "Ad", null);
CreateNode(xmdoc, node, "ImageUrl", "google.gif");
CreateNode(xmdoc, node, "NavigateUrl", "http://www.google.com");
CreateNode(xmdoc, node, "Impressions", "30");
CreateNode(xmdoc, node, "Keyword", "google");
root.AppendChild(node);
}
xmdoc.Save(Server.MapPath(file));
Response.Write("寫(xiě)入XML文件XMLFile.xml成功。<br>");
}
catch(Exception ex) {
Response.Write(ex.Message);
}
}
/// <summary>
/// 創(chuàng)建節(jié)點(diǎn)
/// </summary>
/// <param name="xmldoc"></param>
/// <param name="parentnode"></param>
/// <param name="name"></param>
/// <param name="value"></param>
public void CreateNode(XmlDocument xmldoc, XmlNode parentnode, string name, string value)
{
XmlNode node = xmldoc.CreateNode(XmlNodeType.Element, name, null);
node.InnerText = value;
parentnode.AppendChild(node);
}
/// <summary>
/// 讀取XML文件
/// </summary>
/// <param name="file"></param>
private void ReadFile(string file)
{
XmlDocument xmldoc = new XmlDocument();
try
{
xmldoc.Load(Server.MapPath(file));
XmlNode node = xmldoc.SelectSingleNode("Advertisements");
if (node != null)
{
TreeNode root = new TreeNode();
root.Text = node.Name;
tvXml.Nodes.Add(root);
foreach (XmlNode xnode in xmldoc.SelectNodes("Advertisements/Ad"))
{
TreeNode tnode = new TreeNode();
tnode.Text = Server.HtmlEncode("<" + xnode.Name + ">");
root.ChildNodes.Add(tnode);
foreach (XmlNode xcnode in xnode.ChildNodes)
{
TreeNode tcnode = new TreeNode();
tcnode.Text = Server.HtmlEncode("<" + xcnode.Name + ">" + xcnode.InnerText + "</" + xcnode.Name + ">");
tnode.ChildNodes.Add(tcnode);
}
TreeNode ttnode = new TreeNode();
ttnode.Text = Server.HtmlEncode("</" + xnode.Name + "");
root.ChildNodes.Add(ttnode);
}
TreeNode tpnode = new TreeNode();
tpnode.Text = Server.HtmlEncode("</" + node.Name + ">");
tvXml.Nodes.Add(tpnode);
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
C#之HttpClient設(shè)置cookies的兩種方式
這篇文章主要介紹了C#之HttpClient設(shè)置cookies的兩種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
C#獲取兩個(gè)時(shí)間的時(shí)間差并去除周末(取工作日)的方法
這篇文章主要介紹了C#獲取兩個(gè)時(shí)間的時(shí)間差并去除周末(取工作日)的方法,可有效的實(shí)現(xiàn)獲取工作日的功能,涉及C#時(shí)間操作的相關(guān)技巧,需要的朋友可以參考下2015-05-05
C#對(duì)Excel表csv文件的讀寫(xiě)操作詳解
在C#編程中,CSV(Comma Separated Values)文件是一種常見(jiàn)的數(shù)據(jù)存儲(chǔ)格式,用于存儲(chǔ)表格數(shù)據(jù),如數(shù)據(jù)庫(kù)導(dǎo)出或報(bào)表,CSV文件以其簡(jiǎn)單、易于處理和跨平臺(tái)兼容性而受到廣泛使用,本篇文章將深入探討如何在C#中進(jìn)行CSV文件的讀寫(xiě)操作,需要的朋友可以參考下2024-12-12
c# 基于wpf,開(kāi)發(fā)OFD電子文檔閱讀器
這篇文章主要介紹了c# 如何基于wpf,開(kāi)發(fā)OFD電子文檔閱讀器,幫助大家更好的理解和學(xué)習(xí)使用c#的wpf技術(shù),感興趣的朋友可以了解下2021-03-03
詳解三種C#實(shí)現(xiàn)數(shù)組反轉(zhuǎn)方式
本篇文章主要介紹了詳解三種C#實(shí)現(xiàn)數(shù)組反轉(zhuǎn)方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
c#中Empty()和DefalutIfEmpty()用法分析
這篇文章主要介紹了c#中Empty()和DefalutIfEmpty()用法,以實(shí)例形式分析了針對(duì)不同情況下Empty()和DefalutIfEmpty()用法區(qū)別,需要的朋友可以參考下2014-11-11

