首页 > 编程 > C# > 正文

C# 创建,读取,写入XML文件

2019-10-29 21:12:48
字体:
来源:转载
供稿:网友

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> 

对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);   }  } 

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持VEVB武林网!


注:相关教程知识阅读请移步到c#教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表