C# 操作XML入门
1 已知有一个XML文件(bookstore.xml)如下: 2 3 4 <?xmlversion="1.0"encoding="gb2312"?> 5 <bookstore> 6 <bookgenre="fantasy"ISBN="2-3631-4"> 7 <title>Oberon'sLegacy</title> 8 <author>Corets,Eva</author> 9 <price>5.95</price> 10 </book> 11 </bookstore> 12 13 1、往<bookstore>节点中插入一个<book>节点: 14 15 XmlDocumentxmlDoc=newXmlDocument(); 16 xmlDoc.Load("bookstore.xml"); 17 XmlNoderoot=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore> 18 XmlElementxe1=xmlDoc.createElement_x("book");//创建一个<book>节点 19 xe1.SetAttribute("genre","李赞红");//设置该节点genre属性 20 xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性 21 22 XmlElementxesub1=xmlDoc.createElement_x("title"); 23 xesub1.InnerText="CS从入门到精通";//设置文本节点 24 xe1.AppendChild(xesub1);//添加到<book>节点中 25 XmlElementxesub2=xmlDoc.createElement_x("author"); 26 xesub2.InnerText="候捷"; 27 xe1.AppendChild(xesub2); 28 XmlElementxesub3=xmlDoc.createElement_x("price"); 29 xesub3.InnerText="58.3"; 30 xe1.AppendChild(xesub3); 31 32 root.AppendChild(xe1);//添加到<bookstore>节点中 33 xmlDoc.Save("bookstore.xml"); 34 35 36 //================ 37 结果为: 38 39 40 41 42 <?xmlversion="1.0"encoding="gb2312"?> 43 <bookstore> 44 <bookgenre="fantasy"ISBN="2-3631-4"> 45 <title>Oberon'sLegacy</title> 46 <author>Corets,Eva</author> 47 <price>5.95</price> 48 </book> 49 <bookgenre="李赞红"ISBN="2-3631-4"> 50 <title>CS从入门到精通</title> 51 <author>候捷</author> 52 <price>58.3</price> 53 </book> 54 </bookstore> 55 56 2、修改节点:将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点<author>的文本修改为“亚胜”。 57 58 59 XmlNodeListnodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点 60 foreach(XmlNodexninnodeList)//遍历所有子节点 61 { 62 XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型 63 if(xe.GetAttribute("genre")=="李赞红")//如果genre属性值为“李赞红” 64 { 65 xe.SetAttribute("genre","update李赞红");//则修改该属性为“update李赞红” 66 67 XmlNodeListnls=xe.ChildNodes;//继续获取xe子节点的所有子节点 68 foreach(XmlNodexn1innls)//遍历 69 { 70 XmlElementxe2=(XmlElement)xn1;//转换类型 71 if(xe2.Name=="author")//如果找到 72 { 73 xe2.InnerText="亚胜";//则修改 74 break;//找到退出来就可以了 75 } 76 } 77 break; 78 } 79 } 80 81 xmlDoc.Save("bookstore.xml");//保存。 82 83 84 //================= 85 86 最后结果为: 87 88 89 <?xmlversion="1.0"encoding="gb2312"?> 90 <bookstore> 91 <bookgenre="fantasy"ISBN="2-3631-4"> 92 <title>Oberon'sLegacy</title> 93 <author>Corets,Eva</author> 94 <price>5.95</price> 95 </book> 96 <bookgenre="update李赞红"ISBN="2-3631-4"> 97 <title>CS从入门到精通</title> 98 <author>亚胜</author> 99 <price>58.3</price> 100 </book> 101 </bookstore> 102 103 104 3、删除<bookgenre="fantasy"ISBN="2-3631-4">节点的genre属性,删除<bookgenre="update李赞红"ISBN="2-3631-4">节点。 105 106 107 XmlNodeListxnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes; 108 109 foreach(XmlNodexninxnl) 110 { 111 XmlElementxe=(XmlElement)xn; 112 113 114 if(xe.GetAttribute("genre")=="fantasy") 115 { 116 xe.RemoveAttribute("genre");//删除genre属性 117 } 118 elseif(xe.GetAttribute("genre")=="update李赞红") 119 { 120 xe.RemoveAll();//删除该节点的全部内容 121 } 122 } 123 xmlDoc.Save("bookstore.xml"); 124 125 //==================== 126 127 最后结果为: 128 129 130 <?xmlversion="1.0"encoding="gb2312"?> 131 <bookstore> 132 <bookISBN="2-3631-4"> 133 <title>Oberon'sLegacy</title> 134 <author>Corets,Eva</author> 135 <price>5.95</price> 136 </book> 137 <book> 138 </book> 139 </bookstore> 140 141 142 4、显示所有数据。 143 144 145 XmlNodexn=xmlDoc.SelectSingleNode("bookstore"); 146 147 XmlNodeListxnl=xn.ChildNodes; 148 149 foreach(XmlNodexnfinxnl) 150 { 151 XmlElementxe=(XmlElement)xnf; 152 Console.WriteLine(xe.GetAttribute("genre"));//显示属性值 153 Console.WriteLine(xe.GetAttribute("ISBN")); 154 155 XmlNodeListxnf1=xe.ChildNodes; 156 foreach(XmlNodexn2inxnf1) 157 { 158 Console.WriteLine(xn2.InnerText);//显示子节点点文本 159 } 160 }
转载于:https://www.cnblogs.com/jerry-liu/archive/2013/04/09/3009398.html
C# 操作XML入门相关推荐
- xml入门简介--两天学会xml
前言 在很久以前,笔者曾见到过1000+页的xml书,里面还有n多的概念,XSL,Xquery,让人头痛.无奈最近需要用到,所以在w3c恶补了一下.以下大致整理了一下相关概念,但是对XSL等派生语言没 ...
- delphi操作xml学习笔记 之一 入门必读
Delphi 对XML的支持---TXMLDocument类 Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写.可以利用TXMLDocument把XM ...
- 在C#.net中如何操作XML
在C#.net中如何操作XML 需要添加的命名空间: using System.Xml; 定义几个公共对象: XmlDocument xmldoc ; XmlNode xmlnode ; XmlEle ...
- ActionScript 3操作XML 详解
AS3引入了E4X ,它是根据ECMAScript标准处理XML 数据的全新机制.这使得程序员在程序中无缝地操作XML.在AS3中可以使用XML字面值将XML数据直接写入代码,该字面值将被自动解析. ...
- c#操作xml实例 2009-03-13 20:00
在C#.net中如何操作XML 需要添加的命名空间: using System.Xml; 定义几个公共对象: XmlDocument xmldoc ; XmlNode xmlnode ; XmlEle ...
- C#操作XML方法集合
原文地址:http://www.cnblogs.com/zery/p/3362480.html 一 前言 先来了解下操作XML所涉及到的几个类及之间的关系 如果大家发现少写了一些常用的方法,麻烦在评 ...
- [Qt教程] 第28篇 XML(二)使用DOM创建和操作XML文档
[Qt教程] 第28篇 XML(二)使用DOM创建和操作XML文档 楼主 发表于 2013-5-21 22:00:51 | 查看: 475| 回复: 0 使用DOM创建和操作XML文档 版权声明 该 ...
- [转]C#操作XML方法详解
本文转自:http://www.cnblogs.com/minotmin/archive/2012/10/14/2723482.html using System.Xml; //初始化一个xml实例 ...
- .net操作xml小结 (转)
.net操作xml小结 一.简单介绍 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml ...
最新文章
- SQL中的sysobjects与syscolumns
- “1天一朵云”,这是如何做到的?
- 写一段代码提高内存占用_记录一次生产环境中Redis内存增长异常排查全流程!...
- 一步一步写算法(之循环和递归)
- 这个Javascript“要求”是什么?
- Android Listview设置每条信息的间距
- Photoshop 入门教程「6」如何更改图像大小?
- fluidsim win7版本_FluidSIM 5|FluidSIM(液压气动仿真软件)下载v5.0中文免费版 附安装教程 - 欧普软件下载...
- 威纶触摸屏如何组态设置离散量报警及报警历史记录?
- AUTOCAD--实时缩放
- html好看目录样式,HTML_CSS使用详解,目录样式类型(List Style Type) 说 - phpStudy
- 怎样恢复计算机到桌面,电脑任务栏怎么还原到下面 电脑任务栏还原方法【图文】...
- Maven的学习总结
- 手把手教你看懂电脑硬件测试软件CPU-Z(二)
- VSCode安装和使用教程
- 大家不用买无线路由器了也可以让手机上WIFI
- python开发学习-day01 (python安装与版本、字符串、字典、运算符、文件)
- ArcGIS符号级别的应用
- 用户用户组配置文件相关文件格式说明
- MATLAB 自定义函数拟合
热门文章
- angular点击按钮弹出页面_Axure RP8:如何做出点击按钮切换页面效果?
- Windows10怎么创建后门?
- 网工路由基础(2)路由选路原理
- 这些 Linux 的 “自动化” 技巧,教你轻松完成任务
- 【必看】新手妹子一键删库,老司机机智救场
- GPU 机器学习开箱即用
- python怎么由列表生成m*n的矩阵_Python进阶系列:Python遍历的秘密
- 最简单人工智能python_Python人工智能之路 - 第四篇 : jieba gensim 最好别分家之最简单的相似度实现...
- php数组循环0到32,通过数组php循环
- php挖洞提权,挖洞经验 | 看我如何发现GitHub提权漏洞获得$10000赏金