在树状视图中,您可以检索项目的级别。我试图用给定的输入作为对象来完成同样的事情。
我将用于此示例的XML数据类似于以下
<?xml version="1.0" encoding="utf-8" ?>
<Testing>
<Numbers>
<Number val="1">
<Number val="1.1">
<Number val="1.1.1">
<Number val="1.1.2" />
<Number val="1.1.3" />
<Number val="1.1.4" />
</Number>
</Number>
<Number val="1.2" />
<Number val="1.3" />
<Number val="1.4" />
</Number>
<Number val="2" />
<Number val="3" />
<Number val="4" />
</Numbers>
<Numbers>
<Number val="5" />
<Number val="6" />
<Number val="7" />
<Number val="8" />
</Numbers>
</Testing>
这是踢我的屁股!
答案 0 :(得分:6)
你可以递归元素的父母,如下所示:
public static int GetLevel(this XObject node) {
if (node.Parent == null) return 0;
return 1 + node.Parent.GetLevel();
}
或者,没有递归:
public static int GetLevel(this XObject node) {
int level = 0;
while (null != (node = node.Parent))
level++;
return level;
}