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

发布时间 - 2026-01-10 23:26:26    点击率:

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

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


# c#  # 创建xml文件  # 写入xml文件  # 读取xml文件  # C#读写文件的方法汇总  # C# 创建文本文件写入读取实现代码  # C#实现文本文件读写方法汇总  # C#简单读写txt文件的方法  # C#读取写入文件的3种方式示例代码  # C#文件读写操作详细操作指南  # http  # gif  # google  # string  # CreateXmlFile  # void  # XmlNode  # xmldoc  # XmlDocument  # public  # csharp  # XML  # www  # filename  # param  # summary  # version 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何确保FTP站点访问权限与数据传输安全?  文字头像制作网站推荐软件,醒图能自动配文字吗?  Android使用GridView实现日历的简单功能  Laravel如何发送系统通知?(Notification渠道示例)  如何快速建站并高效导出源代码?  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  5种Android数据存储方式汇总  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Laravel如何创建自定义Artisan命令?(代码示例)  jquery插件bootstrapValidator表单验证详解  Laravel如何记录自定义日志?(Log频道配置)  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  制作电商网页,电商供应链怎么做?  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  如何在阿里云完成域名注册与建站?  简单实现Android文件上传  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  PythonWeb开发入门教程_Flask快速构建Web应用  重庆市网站制作公司,重庆招聘网站哪个好?  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel如何实现用户注册和登录?(Auth脚手架指南)  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  如何实现javascript表单验证_正则表达式有哪些实用技巧  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  如何在建站之星网店版论坛获取技术支持?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  网站制作报价单模板图片,小松挖机官方网站报价?  Python正则表达式进阶教程_复杂匹配与分组替换解析  Laravel如何与Inertia.js和Vue/React构建现代单页应用  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  Linux后台任务运行方法_nohup与&使用技巧【技巧】  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  桂林网站制作公司有哪些,桂林马拉松怎么报名?  图册素材网站设计制作软件,图册的导出方式有几种?  网站建设整体流程解析,建站其实很容易!  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  轻松掌握MySQL函数中的last_insert_id()