对于任意的XML的遍历

互联网 17-2-28
对于任意的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+"\n");                  foreach (XmlNode xn in xnl)                  {                      //Console.Write(xn.Attributes["name"].Value.ToString()+"\n");                      XmlNode child = xn.FirstChild;                                            NodeOperate(child);                                  }              }              public static  void NodeOperate(XmlNode xn1)              {                  if (xn1.HasChildNodes == true)                  {                      Console.Write(xn1.Name + "\n");                      Console.Write("\n");                      XmlNode childNode = xn1.FirstChild;                                            NodeOperate(childNode);                  }                  else                  {                      Console.Write(xn1.Name + "\n");                      Console.Write(xn1.InnerText);                      Console.Write("\n");                      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 Settings\SKY\My Documents\Visual Studio 2005\Projects\Project1\Project1\system.xml");              Console.Read();          }

以上就是对于任意的XML的遍历的内容,更多相关内容请关注PHP中文网(www.php.cn)!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: XML,遍历
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:灵活调用xsl来解析xml文档(js异步)

相关资讯