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. jsp中jsp中群发邮件群发邮件
  2. 【视频】谷歌大佬30分钟让你入门机器学习(2019谷歌I/O资源分享)
  3. css 图片剪裁居中
  4. 七招制胜ASP.NET应用程序开发
  5. 架构实战:(一)Redis采用主从架构的原因
  6. php mysql foreach_php foreach输出两次
  7. [C++]variadic function template expansion 变元函数参数的展开规则
  8. 安卓手机上微信无法打开Https网址的完美解决方案
  9. linux主备dns切换时间,linux下主从DNS配置相关知识(二)
  10. flutter 路由
  11. 第三十七课.宽度学习
  12. bzoj 3332 旧试题
  13. 天地融2014校园招聘笔试题
  14. HTML5 模板 地址
  15. 最好的五款骨传导耳机推荐,双十一必入骨传导蓝牙耳机
  16. css icon设置,CSS之字体图标 icon 的多种实现
  17. CaysnPrinter 云打印机MQTT上层通讯协议V1.1_20170624
  18. 2022最新视频打赏系统全开源版本+附教程/亲测可用
  19. Dia Diagram Editor一款多平台开源流程图软件介绍
  20. 大学最值钱的东西...

热门文章

  1. 2018年c++B:换零钞;激光样式(递归法和暴力破解)
  2. C++ STL 使用assign对list中的元素进行重置
  3. GraphQL | 一种配得上凡尔赛的API框架
  4. python后台架构Django教程——admin管理员站点
  5. android 启动一个应用,android 在一个应用中启动另一个应用
  6. matlab面向对象多态性,MATLAB面向对象程序设计10版.pptx
  7. 能不能在FOR循环中执行SQL?
  8. PHP运算符 - 对象的方法或者属性, =数组的元素值
  9. 跳跃回溯____寻找最长平台
  10. 对报表模型项应用安全筛选器