我正在使用 C# 和 LINQ 来遍历我的 XDocument。
假设我有这样的 XML:
<Root>
<Element ID="1">
<Element ID="2">
<Element ID="3" />
...
</Element>
<Element ID="50">
...
</Element>
</Element>
<Element ID="x">
...
</Element>
</Root>
现在假设我有 ID 3,并设法找到具有该 ID 的元素。此时,我想找到顶级父节点的ID(它是父节点,比Root低一级)。在这种情况下,我想找到 ID 为 1 的元素。我可以这样做:
myElement.Parent.Parent
但我不知道它可能有多少级 - 所以我可能需要递归。但是,我记得 XDocument 是只读的。以递归方式找到父对象的成本是多少?做这个的最好方式是什么?
我的 XML 文件可能高达 500k 大。