C# 如何在不将整个文件加载到内存的情况下更新xml文件

C# 如何在不将整个文件加载到内存的情况下更新xml文件,c#,.net,xml,C#,.net,Xml,如何在不将xml文件完全加载到内存的情况下更新它。在下面的代码中,我希望浏览每个父节点注释并更新to节点的值。我们如何使用C#实现这一点。我必须根据代码中的一些其他计算来更新to字段 <note> <from>Jani</from> <to>Tove</to> </note> <note> <from>John</from> <to>Doe</to> </no

如何在不将xml文件完全加载到内存的情况下更新它。在下面的代码中,我希望浏览每个父节点注释并更新to节点的值。我们如何使用C#实现这一点。我必须根据代码中的一些其他计算来更新to字段

<note>
<from>Jani</from>
<to>Tove</to>
</note>
<note>
<from>John</from>
<to>Doe</to>
</note>

贾尼
托弗
约翰
雌鹿

您可以在
XmlReader
XmlWriter
中使用流式处理方法,只需从读取器中写出除需要更改的部分之外的所有内容


Scott Hanselman有一篇文章使用了这种技术。

您可以使用XmlReader和XmlWriter。 这里有一些例子


要更新的文件有多大?记忆真的是一个严重的问题吗?是的。该文件可能包含超过700万条记录。所以记忆是一个限制。注意这篇文章是2005年的。不要做博客文章所做的事情:不要使用
XmlTextWriter