gpt4 book ai didi

c# - 是否可以重新加载 XDocument 并保留对它的所有现有引用?

转载 作者:行者123 更新时间:2023-12-03 22:49:04 25 4
gpt4 key购买 nike

我已经通过 XDocument 的静态加载方法(采用 XmlReader)创建了一个 XDocument,如下所示:

XDocument doc;

doc = XDocument.Load(reader);

现在,有时需要重新加载文档(进行更改后恢复到原始版本)。执行此操作的明显方法似乎是 doc = XDocument.Load(reader);。但是,这将创建一个新的 XDocument,并且尽管我们已经(重新)加载了原始版本,但对 doc 的任何现有引用仍将指向旧的(更改的)版本。

有没有办法将 XmlReader(甚至是 XML 的字符串或 byte[] 表示)加载到现有的 XDocument 中,并覆盖其内容?或者我是否必须手动进行所有更改(删除其元素并添加新元素)?

最佳答案

你应该可以做到

 doc.Root.ReplaceWith( XElement.Load(fileName));

如果您想保留处理指令,您可能需要先加载到临时 XDocument 中。

关于c# - 是否可以重新加载 XDocument 并保留对它的所有现有引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13979043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com