C# 在C中使用XmlSerializer编辑XML文件而不重写#

C# 在C中使用XmlSerializer编辑XML文件而不重写#,c#,xml,xmlserializer,C#,Xml,Xmlserializer,我有一个XML文件,例如: <?xml version="1.0" encoding="utf-8"?> <items> <item> <id>1</id> <details></details> <description></description> </item>

我有一个XML文件,例如:

<?xml version="1.0" encoding="utf-8"?>  
    <items>             
      <item>
        <id>1</id>
        <details></details>
        <description></description>
      </item>
       <item>
        <id>2</id>
        <details>
        </details>
        <description></description>
      </item>
    </items>

1.
2.
现在假设我想修改一个XML文件,以便我想为id=2的项的details标记添加一些数据。使用XML序列化程序,我必须读取整个XML文件,然后选择项Id为2的项,修改该类对象并再次写入整个文件?所以对于每次更新,我必须将整个xml文件读入内存,然后在内存中编辑它,然后作为一个整体重新写入磁盘


有没有其他方法可以做到这一点?比如,我可以使用一个只需将节点更新为现有XML文件的alogic吗?

考虑一下……如果您想手动编辑文件……您必须先打开文件,对吗?在您进行任何更改之前,整个内容都将加载到内存中…以编程方式编辑文件也是如此…您可以进行流式转换和插入,请参阅。但您仍然需要读取和重写整个文件——只是不能同时将其保存在内存中。可能也会有帮助。但是,由于XML文件只是一个文本文件,请参见,这说明一般不支持在文本文件中随机插入/删除。