对于任意的XML的遍历

2016-02-19 21:45 10 1 收藏

下面图老师小编跟大家分享对于任意的XML的遍历,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - Web开发 】

  class test
          {
              private static string root;

              public static  void showXML(string path)
              {
                  XmlDocument xd = new XmlDocument();
                  xd.Load(path);
                 
                  XmlNodeList xnl = xd.DocumentElement.ChildNodes;
                  root = xd.FirstChild.NextSibling.Name;//记录根节点

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

                  Console.Write(root+"");

                  foreach (XmlNode xn in xnl)
                  {
                      //Console.Write(xn.Attributes["name"].Value.ToString()+"");
                      XmlNode child = xn.FirstChild;
                     
                      NodeOperate(child);
                

                  }
              }

              public static  void NodeOperate(XmlNode xn1)
              {

                  if (xn1.HasChildNodes == true)
                  {
                      Console.Write(xn1.Name + "");
                      Console.Write("");
                      XmlNode childNode = xn1.FirstChild;
                     
                      NodeOperate(childNode);

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

                  }
                  else
                  {
                      Console.Write(xn1.Name + "");
                      Console.Write(xn1.InnerText);
                      Console.Write("");
                      if (xn1.NextSibling != null)
                      {
                         
                          NodeOperate(xn1.NextSibling);
                      }
                      else
                      {
                          int flag = 0;
                          while (xn1.NextSibling == null)
                          {
                            
                             
                              if (xn1.Name == root)//检查是否到了根节点,如果不检查会出现节点的引用错误
                              {
                                  flag = 1;
                                  break;
                              }
                              else
                              {

                                  xn1 = xn1.ParentNode;
                              }
                             
                          }
                          if (flag == 0)
                          {
                              NodeOperate(xn1.NextSibling);
                          }
                          else if(flag==1)
                          {
                              Console.Write("End");
                          }
                      }

                     
                  }
              }
          }

  
          public static void Main()
          {
           
              test.showXML(@"C:Documents and SettingsSKYMy DocumentsVisual Studio 2005ProjectsProject1Project1system.xml");
              Console.Read();

          }

来源:http://www.tulaoshi.com/n/20160219/1627063.html

延伸阅读
标签: 分娩
剖腹产妈妈二胎请等两年     如果第一胎采用的分娩方法是剖腹产的话,子宫上因为还有术后所留的疤痕,如果想要再一次怀孕,那么到了怀孕晚期甚至有可能出现子宫破裂的可能。这样会影响到胎儿和孕妈妈的安全,说起来十分的危险,所以图老师小编在这里建议剖腹产妈妈想要二胎的话,选择两年后吧。   &nbs...
标签: Web开发
jQuery中10个非常有用的遍历函数 使用jQuery,可以很容易的选择HTML元素。但有些时候,在HTML结构较为复杂时,提炼我们选择的元素就是一件麻烦的事情。在这篇教程中,我们将探讨十种方法去精炼和扩展我们将要操作的集合。 HTML 首先,让我们看看下图所示的简单的页面,通过这个教程我们将选择这些元素。 div.contai...
什么叫亚健康 对于亚健康的介绍 什么是亚健康,亚健康是我们现代人中比较常见的情况了,很多人容易生病也是因为这个原因,那么大家知道亚健康是什么意思吗,亚健康如何调理呢,下面就让我们一起来了解一下吧。 什么叫亚健康 流行病学 国内对亚健康的研究仅限于横断面调查,所用仪器为自我评定量表或问...
人格缺陷 对于人格缺陷的概述 什么是人格缺陷呢,在我们生活中患有人格缺陷的人还是比较多的,或轻或重,那么大家知道人格缺陷的表现是什么吗,人格缺陷的实质和内容又是怎么样的呢,下面就让我们一起来了解一下吧。 人格缺陷是人格障碍,人格障碍是一种病态,其研究的心理学是丰富的,在正常人的人格缺陷被具体体现,...
结肠腺癌 对于结肠腺癌的定义 什么是结肠腺癌呢,在我们生活中,想必大家对于结肠腺癌还是有一定的了解的吧,那么大家知道结肠腺癌的肿瘤有哪些呢,结肠腺癌能活多久呢,下面就让我们一起来了解一下吧。 结肠腺癌定义 结肠癌是一种常见的消化道恶性肿瘤,属于各种类型的结直肠癌。 结肠腺癌病因 ...

经验教程

696

收藏

24
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部