怎样获取xml文件中总共有多少个不同的节点数
如:<?xml version="1.0" encoding="utf-8"?>
<School sname="aa">
<Class cname="c1">
<Student name="bb" age="21">
</Student>
<Stu name="stu1" />
</Class>
<Class cname="c2">
<Student name="cc" age="22">
</Student>
</Class>
</School>这个xml文件,有三个不同节点
如:<?xml version="1.0" encoding="utf-8"?>
<School sname="aa">
<Class cname="c1">
<Student name="bb" age="21">
</Student>
<Stu name="stu1" />
</Class>
<Class cname="c2">
<Student name="cc" age="22">
</Student>
</Class>
</School>这个xml文件,有三个不同节点
public List<string> count_list = new List<string>();
public void GetNodeName(XmlNode xn)
{
string name = xn.Name;
if (!count_list.Contains(name))
count_list.Add(name);
if (xn.HasChildNodes)
{
foreach (XmlNode temp in xn.ChildNodes)
{
GetNodeName(temp);
}
}
}调用
XmlDocument xDoc = new XmlDocument();
xDoc.Load(@"C:\Documents and Settings\Administrator\桌面\Test.txt");
GetNodeName(xDoc.LastChild);
//此时,count_list记录如下,不止三个吧
/*
* [0] "School" string
[1] "Class" string
[2] "Student" string
[3] "Stu" string */
<School sname="aa">
<Class cname="c1">
<Student name="bb" age="21">
<Student tname="v"/>
</Student>
</Class>
<Class cname="c2">
<Student name="cc" age="22">
<Student tname="f"/>
</Student>
</Class>
</School>如果是这样的结构,文件中的节点父节点跟子节点有相同的,就会少找到一个节点名,这个该怎样解决?
[1] "Class" string
[2] "Student" string