分层xml的返回节点级别 [英] Return node level of hierarchical xml
本文介绍了分层xml的返回节点级别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在树状视图中,您可以检索项目的级别.我正在尝试将给定的输入作为对象来完成相同的事情.
In a treeview you can retrieve the level of an item. I am trying to accomplish the same thing with the given input being an object.
我将在此示例中使用的XML数据如下所示
The XML data I will use for this example would be something like the following
<?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>
这是踢我的屁股!
推荐答案
您可以递归元素的父元素,如下所示:
You can recurse the element's parents, like this:
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;
}
这篇关于分层xml的返回节点级别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文