C# 创建,读取,写入XML文件
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#实现Windows Form调用R进行绘图与显示的方法
栏 目:C#教程
下一篇:C#执行存储过程并将结果填充到GridView的方法
本文标题:C# 创建,读取,写入XML文件
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/5863.html
您可能感兴趣的文章
- 01-10C#实现读取注册表监控当前操作系统已安装软件变化的方法
- 01-10winform实现创建最前端窗体的方法
- 01-10C#实现多线程写入同一个文件的方法
- 01-10C#动态创建button的方法
- 01-10C#实现读取被进程占用的文件实现方法
- 01-10深入浅出23种设计模式
- 01-10winform创建不规则窗体的方法
- 01-10C#动态创建Access数据库及密码的方法
- 01-10C#实现在启动目录创建快捷方式的方法
- 01-10C# readnodefile()不能读取带有文件名为汉字的osg文件解决方法
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10SublimeText编译C开发环境设置
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10C#中split用法实例总结
- 04-02jquery与jsp,用jquery
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-11ajax实现页面的局部加载
- 01-10delphi制作wav文件的方法