博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#遍历XmlDocument对象所有节点名称、类型、属性(Attribute)
阅读量:6952 次
发布时间:2019-06-27

本文共 3510 字,大约阅读时间需要 11 分钟。

C#遍历XmlDocument对象所有节点名称、类型、属性(Attribute)

代码

static void Main(string[] args)        {            System.Xml.XmlDocument doc = new System.Xml.XmlDocument();            doc.Load("../../UpdateActivity2.xml");//doc.Load(文件):从文件加载 doc。doc.LoadXml(字符串)从字符串加载 UpdateActivity2(doc); } ///  /// 测试方法 ///  /// XmlDocument对象 public static void UpdateActivity2(XmlDocument doc) { string xx = doc.InnerXml; //Activity2 string activity2ID = ""; string docid = ""; string docTypeid = ""; #region MyRegion //获取delete的节点 //doc.SelectNodes("//Relationships/Item[@action='delete' and @type='Activity2 Deliverable']/related_id[@type='Deliverable']/Item[@type='Document' or @type='CAD']") //获取add的节点 //doc.SelectNodes("//Relationships/Item[@action='add' and @type='Activity2 Deliverable']") #endregion XmlNodeList Activity2Nodes = doc.SelectNodes("//Item[@type='Activity2']"); 遍历Activity2Nodes中的所有节点 //foreach (XmlNode node in Activity2Nodes) //{ // Console.WriteLine("=========="+node.Name+"==========="); // foreach (XmlAttribute atr in node.Attributes) // { // Console.WriteLine(atr.Name+ "\t:" +atr.Value); // } // XmlNodeList childNodes = doc.ChildNodes; // PrintChildNodes(childNodes); // Console.Read(); //} PrintChildNodes(Activity2Nodes); Console.WriteLine("=============================deleteNodes======================================="); foreach (XmlNode activity2 in Activity2Nodes) { activity2ID = activity2.Attributes["id"].Value; //Action = delete XmlNodeList deleteNodes = doc.SelectNodes("//Relationships/Item[@action='delete' and @type='Activity2 Deliverable']/related_id[@type='Deliverable']/Item[@type='Document' or @type='CAD']"); PrintChildNodes(deleteNodes); } } ///  /// 遍历所有节点的type、name、Attributes ///  ///  static void PrintChildNodes(XmlNodeList childnodelist) { try { foreach (XmlNode node in childnodelist) { //(node.NodeType 是Text时,即是最内层 即innertext值,node.Attributes为null。 if (node.NodeType == XmlNodeType.Text) { Console.WriteLine("NodeType:" + node.NodeType + "\t" + node.Name + "\t:" + node.Value); continue; } Console.WriteLine("==========node.Name:" + node.Name + "==========="); foreach (XmlAttribute atr in node.Attributes) { Console.WriteLine("NodeType:"+atr.NodeType+"\t"+ atr.Name + "\t:" + atr.Value); } if (node.ChildNodes.Count > 0) { PrintChildNodes(node.ChildNodes); } } } catch (Exception ex ) { Console.WriteLine(ex.Message); } }

 

XML档

6BDF5F2096F14405BAD77A7182DEF34B
1DCA0BEA51AA46D8982A872C13B0C2C2
2016-10-14T12:07:17
348A09DDD3E34CAFA837984AD1426D9C
2017-02-28T19:18:21
2017-04-18T00:00:00
2017-03-03T00:00:00
2017-02-20T00:00:00
2017-09-18T00:00:00
2017-09-05T00:00:00
2017-04-05T00:00:00
1
0
10
1
6BDF5F2096F14405BAD77A7182DEF34B
0
1
0
0
1
治具图
Electronics Engineer
2
0
1
A
E96B522DF5DF4E19BF27EF915EE4E6AA
4C66AA1CBF5145F8B37F37244E84ABFE
2017-09-26T19:42:22
1
0
FB0D355A16B04A848417EE270BFE0B02
0
920
A52478EF81F047D7AFF9BAED2B6CE3F1
23343
0
0.0000
Active
#FF0000
D4ECE5BD68B54D969B87C17C068F3E09
治具图
.percent_compl{background-color:#FFCCCC} .date_start_act{background-color:#FFCCCC}

转载地址:http://bqkil.baihongyu.com/

你可能感兴趣的文章
cudaMemcpy与cudaMemcpyAsync的区别
查看>>
Linux内核【链表】整理笔记(1)
查看>>
FNV与FNV-1a Hash算法说明【转】
查看>>
算法(Algorithms)第4版 练习 1.3.20
查看>>
期末总结
查看>>
Java多线程及并发
查看>>
Combiner
查看>>
常用正则表达式大全!(例如:匹配中文、匹配html) 【转】
查看>>
sql语句的删除
查看>>
git
查看>>
php---依赖倒转(反转控制)原则
查看>>
Vue官网教程-计算属性和监听器
查看>>
java基础(2)-面向对象(2)
查看>>
作业6---总结、评价、评分、用户调研
查看>>
Android ScrollView 嵌套ListView的替代方案
查看>>
加分二叉树
查看>>
响应式图片 (responsive image)
查看>>
在为知笔记中使用JQuery
查看>>
综合练习:词频统计
查看>>
APP支付宝支付接入
查看>>