如何深度复制 XDocument / XElement 保留行信息

How to deep copy XDocument / XElement preserving Line Info

我有一个加载了 LoadOptions.SetLineInfo 的 XDocument。我需要复制这个对象,保留行信息。

不幸的是,复制构造函数似乎丢失了行信息 - ToString / Parse 也是如此。

有什么想法吗?谢谢。

您可以尝试从旧的 XDocument 创建新的 XDocument。像这样的东西。

XDocument original = ....
using(var reader = original.CreateReader())
{
    var copy = XDocument.Load(reader, LoadOptions.SetLineInfo);
}

这应该可以解决问题。