对于任意的XML的遍历

2016-02-19 21:45 6 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;//记录根节点

                  Console.Write(root+"");

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

                  }
              }

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

              public static  void NodeOperate(XmlNode xn1)
              {

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

                  }
                  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
                              {

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

                                  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();

          }

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

延伸阅读
代码如下: public static void main(String[] args) {          File f = new File("D:\\test\\fsd");          listChids(f,0);      }      public static void listChids(File f,int level){   &...
一、注册表的组织结构 图一 类比:Key有如文件夹,Value有如文件。 Value组成:Name/Type/Data, 通常指某Value就是指其Name。 二、目前的访问手段 regedit, regedt32,第三方软件,编程。 Windows提供了三种方式供编程实现:函数,Shell函数,CRegKey类(由ATL库提供,是对API的封装,简化了部分功能)。这三种方式的提供的...
标签: Delphi
  有时我们要打印任意排列的表或往已经印好的登记表上对号入座写上数据时,可以新建一个窗体(假设为Form1),再把Form1的BorderStyle设为bsNone、AutoScroll设为True,接下来再创建一个新窗体(假设为Form2),再建个按钮Button1,编写代码: procedure TForm2.Button1Click(Sender: TObject); begin Form1.Width :=900; Form1.Height...
标签: 疾病预防
肾上腺神经母细胞瘤 对于这个疾病的介绍 什么是肾上腺神经母细胞瘤呢,在我们生活中想必大家对于肾上腺神经母细胞瘤还是有一定的了解的吧,那么大家知道肾上腺神经母细胞瘤症状是什么吗,肾上腺神经鞘瘤是什么吗,下面就让我们一起来了解一下吧。 神经母细胞瘤是儿童最常见的颅内肿瘤。它是婴幼儿最常见的肿瘤。近一半...
标签: 分娩
剖腹产妈妈二胎请等两年     如果第一胎采用的分娩方法是剖腹产的话,子宫上因为还有术后所留的疤痕,如果想要再一次怀孕,那么到了怀孕晚期甚至有可能出现子宫破裂的可能。这样会影响到胎儿和孕妈妈的安全,说起来十分的危险,所以图老师小编在这里建议剖腹产妈妈想要二胎的话,选择两年后吧。   &nbs...

经验教程

867

收藏

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