• λ我爱Aspx >> C#.Net >> 对于任意的XML的遍历_XML技巧
  • 对于任意的XML的遍历_XML技巧

  • :aspxer  Դ:internet  :2007-4-28 23:43:24  ؼ: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();

    }

    Ҷƪл˵?
  • һƪXMLTextReader和XmlDocument读取XML文件的比较_XML技巧
    һƪxml文件调用css_XML技巧