本篇文章主要介绍了C# 创建,读取,写入XML文件的方法,具有很好的参考价值。下面跟着小编一起来看下吧
Xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<Advertisements>
<Ad>
<ImageUrl>001.jpglt;/ImageUrl>
<NavigateUrl>001.aspx</NavigateUrl>
<Impressions>10</Impressions>
<Keyword>gucas01</Keyword>
</Ad>
<Ad>
<ImageUrl>002.jpglt;/ImageUrl>
<NavigateUrl>002.aspx</NavigateUrl>
<Impressions>20</Impressions>
<Keyword>gucas02</Keyword>
</Ad>
<Ad>
<ImageUrl>003.jpglt;/ImageUrl>
<NavigateUrl>003.aspx</NavigateUrl>
<Impressions>30</Impressions>
<Keyword>gucas03</Keyword>
</Ad>
<Ad>
<ImageUrl>004.jpglt;/ImageUrl>
<NavigateUrl>004.aspx</NavigateUrl>
<Impressions>40</Impressions>
<Keyword>gucas04</Keyword>
</Ad>
<Ad>
<ImageUrl>005.jpglt;/ImageUrl>
<NavigateUrl>005.aspx</NavigateUrl>
<Impressions>50</Impressions>
<Keyword>gucas05</Keyword>
</Ad>
<Ad>
<ImageUrl>google.giflt;/ImageUrl>
<NavigateUrl>http://www.google.com</NavigateUrl>
<Impressions>30</Impressions>
<Keyword>google</Keyword>
</Ad>
</Advertisements>
对XML文件的操作
/// <summary>
/// 创建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("创建XML文件myxml.xml成功!");
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
/// <summary>
/// 写入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("写入XML文件XMLFile.xml成功。<br>");
}
catch(Exception ex) {
Response.Write(ex.Message);
}
}
/// <summary>
/// 创建节点
/// </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);
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程学习网!
沃梦达教程
本文标题为:C# 创建,读取,写入XML文件
基础教程推荐
猜你喜欢
- C# 调用WebService的方法 2023-03-09
- winform把Office转成PDF文件 2023-06-14
- C# windows语音识别与朗读实例 2023-04-27
- C# List实现行转列的通用方案 2022-11-02
- ZooKeeper的安装及部署教程 2023-01-22
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- unity实现动态排行榜 2023-04-27
- C#类和结构详解 2023-05-30
- C#控制台实现飞行棋小游戏 2023-04-22
- 一个读写csv文件的C#类 2022-11-06