对于任意的XML的遍历

风过无尘enjoy

风过无尘enjoy

2016-02-19 21:45

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

  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+"");

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

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

                  }
                  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");
                          }
                      }

                     
                  }
              }
          }

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

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

          }

展开更多 50%)
分享

猜你喜欢

对于任意的XML的遍历

Web开发
对于任意的XML的遍历

Dom遍历XML的一个例子,结果为树状结构

ASP
Dom遍历XML的一个例子,结果为树状结构

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

xml教程:GridViewRow可以任意位置单击引发事件的方法

Web开发
xml教程:GridViewRow可以任意位置单击引发事件的方法

遍历XML文档返回二维数组(ASP)(更新版)

电脑网络
遍历XML文档返回二维数组(ASP)(更新版)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

switch语句的“不准遍历”

编程语言 网络编程
switch语句的“不准遍历”

遍历Hashtable 的几种方法

编程语言 网络编程
遍历Hashtable 的几种方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何在vc++中旋转位图

如何在vc++中旋转位图

win10预订成功 如何关闭WIN10升级提示图标

win10预订成功 如何关闭WIN10升级提示图标
下拉加载更多内容 ↓