如下文件:此XML文件加上根目录高级应该有5级,请问应该如何用代码判断出来?
<?xml version="1.0" encoding="utf-8" ?>
<NewDataSet>
<UserTable1 Text="1">
               <UserTable2 Text="1">
                  <UserTable3 Text="1">
                  </UserTable3>
               </UserTable2>
</UserTable1>
<UserTable1 Text="1">
               <UserTable2 Text="1">
                  <UserTable3 Text="1">
                    <UserTable4 Text="1">
                    </UserTable4>
                  </UserTable3>
               </UserTable2>
</UserTable1>
</NewDataSet>

解决方案 »

  1.   

     private void Form1_Load(object sender, EventArgs e)
            {
                XmlDocument xmlDocument = new XmlDocument();
                xmlDocument.Load(@"test.xml");            int result = 0;            IEnumerator ie = xmlDocument.SelectSingleNode("/NewDataSet").ChildNodes.GetEnumerator();            while (ie.MoveNext())
                {
                    XmlNode node = ie.Current as XmlNode;
                    result = SearchNodeCount(node);                MessageBox.Show(node.Name + "的节点深度为:" + result);
                }
            }        public int SearchNodeCount(XmlNode node)
            {
                int count = 0;
                count++;
                if (node != null && node.ChildNodes.Count > 0)
                {
                    foreach (XmlNode childNode in node.ChildNodes)
                    {
                        return count + SearchNodeCount(childNode);
                    }
                }
                return count;
            }
      

  2.   

    int counter = 0;
    XmlReader reader = XmlReader.Create(Server.MapPath("~/test.xml"));
    while (reader.Read())
    {
    if (reader.Depth > counter)
    counter = reader.Depth;
    }
    reader.Close();
    Response.Write(counter);//输出5
    给分
      

  3.   

    Server.MapPath("~/test.xml")可以换成诸如@"c:\test.xml"之类的路径。