如下文件:此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>
<?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>
{
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;
}
XmlReader reader = XmlReader.Create(Server.MapPath("~/test.xml"));
while (reader.Read())
{
if (reader.Depth > counter)
counter = reader.Depth;
}
reader.Close();
Response.Write(counter);//输出5
给分