1.载入xml
A.装载已有的xml

1   XmlDocument doc=new XmlDocument ();        
   doc.Load(Server.MapPath("students.xml"));

B.新创建xml

  XmlDocument doc=new XmlDocument ();
  string strXml="<students>
  <student><id>1</id><name>hyq</name><age>24</age></student>
  <student><id>2</id><name>hyq2</name><age>25</age></student>
  <student><id>3</id><name>hyq3</name><age>26</age></student>
  <student><id>4</id><name>hyq4</name><age>27</age></student>
</students>";   
  doc.LoadXml(strXml);

2.获取下级所有节点值

 1 XmlDocument doc=new XmlDocument ();      
  doc.Load(Server.MapPath("students.xml"));

2 XmlNodeList topM = doc.DocumentElement.ChildNodes;
 3 StringBuilder str = new StringBuilder("<ul>");
 4 foreach (XmlNode node in topM)
 5 {
 6                        
 7      str.Append("<li>姓名:" + node.ChildNodes[1].InnerText + ";年龄:" + node.ChildNodes[2].FirstChild.InnerText + "</li>");            
 8                          
 9   }
10  str.Append("</ul>"); 
11  lb_xml.Text = str.ToString();

PS:上面代码中绿色字部分是获取根节点。另一种获取所有节点的方法,如果只是获取部分节点的话,建议用此方法

selectNodes
1 XmlNodeList nodeLists = doc.SelectNodes("students/student")
2  foreach (XmlNode node in nodeLists)
3          {
4                        
5              str.Append("<li>姓名:" + node.ChildNodes[1].InnerText + ";年龄:" + node.ChildNodes[2].FirstChild.InnerText + "</li>");            
6                          
7          }
8          str.Append("</ul>"); 
9          lb_xml.Text = str.ToString();

3.增加节点

增加已存在的节点副本
1 XmlNode node2 = doc.DocumentElement.ChildNodes[0].CloneNode(true);
2          node2.ChildNodes[0].InnerText = "6";
3          node2.ChildNodes[1].InnerText = "second";
4          node2.ChildNodes[2].InnerText = "135";
5          doc.DocumentElement.AppendChild(node2);
增加全新的节点
1          XmlNode node1 = doc.CreateNode(XmlNodeType.Element, "job", "");
2          XmlNode node11 = doc.CreateNode(XmlNodeType.Element, "name", "");
3          node11.InnerText = "net";
4          node1.AppendChild(node11);       
5          doc.DocumentElement.AppendChild(node1);

PS:例子中是以在根节点下增加节点为例,将此节点相应改变,就可在任意节点下增加节点或属性。
另注意下:node.CloneNode(bool deep)方法,当deep=true时,表示复制节点下的子节点和自己;deep=false时,
只复制自己。
4。删除节点

 doc.DocumentElement.RemoveChild(XmlNode node)

(简单事,简单处理)

转载于:https://www.cnblogs.com/hyqiang168/archive/2007/12/14/994837.html

【原】c#对xml的操作相关推荐

  1. xml常用操作(js、sql、vb)

    我们经常会用到xml操作,如下介绍了js.sql.vb等对xml的操作. JS创建xml对象 //创建对象 function getDataXML() {var objTds = $("TE ...

  2. sql server中对xml进行操作

    一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XM ...

  3. php复制xml文件,PHP_php xml文件操作实现代码(二),复制代码 代码如下:?php //创 - phpStudy...

    php xml文件操作实现代码(二) 复制代码 代码如下: //创建一个新的DOM文档 $dom = new DomDocument(); //在根节点创建departs标签 $departs = $ ...

  4. xml编辑 html_【c# .net】Xml读写操作(XmlTextReader 类)

    Xml读写操作(XmlTextReader 类) 1.XML简介 1)XML 和 HTML 的设计初衷 XML 被设计用来传输和存储数据 HTML 被设计用来显示数据 2)什么是 XML? XML 指 ...

  5. php xml expat,php 使用expat方式解析xml文件操作示例

    本文实例讲述了php 使用expat方式解析xml文件操作.分享给大家供大家参考,具体如下: test.xml: George John Reminder George2 John2 Reminder ...

  6. 新浪微博 XML 文件操作助手

    TAG: 新浪微博 XML 文件操作助手 API /// <summary> /// XML 文件操作助手 /// </summary> public class XmlHel ...

  7. 华硕笔记本全硬盘恢复原厂状态 实机操作,MYASUS IN WINRE恢复,ASUS RECOVERY恢复

    本教程的前提的在之前就备份了原厂的RECOVERY分区,RESTORE分区,MYASUS分区 如果这些分区都没有的话那就只能找同型号笔记本的朋友要一份了,或者去售后,告诉他这三个分区都要恢复.一般售后 ...

  8. LINQ to XML 常用操作(转)

    查找具有特定属性的元素 XElement root = XElement.Load("PurchaseOrder.xml"); IEnumerable<XElement> ...

  9. android xml文件操作类,android操作xml

    android操作xml封装后的类,包括创建xml和读xml. public class XmlParserUtil { //创建xml文件 public static void createXmlF ...

最新文章

  1. 《图解密码技术》分组密码(3) 密文分组链接CBC模式
  2. Istio 自动注入 sidecar 不成功及k8s安装istio后pod无法创建解决方案
  3. php替换不区分大小写_PHP大小写问题:函数名和类名不区分,变量名区分
  4. 人工智能技术在智能制造中的典型应用场景与标准体系研究
  5. .net cf的label问题
  6. checkbox选中并记住状态(分页)
  7. 宿舍小助手之个人分析NABCD
  8. 八款你不得不知的开源前端JS框架
  9. 3500份课后答案,很值得收藏,这里只介绍了一部分。
  10. 基于imcrop,裁剪人脸视频
  11. win7(win10)更改“文件类型显示图标“的终极修改方法
  12. vscode :code runner运行include多个文件的cpp
  13. 开发人员必备的四象限壁纸
  14. 【 优秀的无干扰文本写作工具】Ommwriter for Mac 1.57
  15. Linux中的系统语言包及UTF-8、en_US.UTF-8和zh_CN.UTF-8的区别
  16. tplink怎么进去_在TP-Link工作体验如何?
  17. (原创)制作一个采用 LCD1602 显示的电子钟,在 LCD 上显示当前的时间。显示格式为“时时:分分:秒秒”。设有 4 个功能键k1~k4,功能如下:(1)k1——进入时间修改。
  18. OCA/OCP Oracle 数据库12c考试指南读书笔记:第11章: Subqueries and Set Operators
  19. 台式计算机 主控芯片型号,win10系统查看U盘的主控芯片型号的图文方法
  20. 老树新芽,在ES6下使用Express

热门文章

  1. OpenGL基础38:数据存储
  2. bzoj 2724: [Violet 6]蒲公英(分块预处理)
  3. HDU 4553:约会安排(区间合并)
  4. opencv中的resize函数实现图像插值缩放
  5. python中pickle模块讲解
  6. js中函数参数arguments、callee、caller,值传递、重载
  7. Ubuntu用ssh连接虚拟机
  8. git clone 拉取github上面的代码报错:fatal: Authentication failed for xxx解决
  9. Xcode中的iOS工程模板
  10. 重绘(redraw或repaint),重排(reflow)