1

我正在尝试计算所有父母,直到倒数第二层(人)。我为这篇文章做了一个例子,但最终我有一个生成的 XML 文件。所以最好的答案是动态解决方案。

<?xml version="1.0" encoding="UTF-8"?>
<data name="data_resource" friday="no">
    <persons>
        <person>
            <name>Jack</name>
            <age>22</age>
            <pob>New York</pob>
        </person>
        <person>
            <name>Guido</name>
            <age>21</age>
            <pob>Hollywood</pob>
        </person>
        <person>
            <name>Michael</name>
            <age>20</age>
            <pob>Boston</pob>
        </person>
    </persons>
    <computers>
        <computer>
            <name>My-Computer-1</name>
        </computer>
    </computers>
</data>

澄清我想要的:计数:数据、人员、计算机和人员(x3)。这个特定示例的结果将是:7

有人可以帮我解决这个问题吗?

4

1 回答 1

1

创建一个以 XmlElement 或 XElement 作为参数的递归函数:

public int CountParents(XmlNode el)
{
    if (el.ParentNode == null)
        return -1;  // Adjust this value in order to have the correct Level.
    return CountParents(el.ParentNode) + 1;
}

调整顶层的返回值,使结果符合您的需要。

于 2013-10-30T10:21:02.870 回答