【问题标题】:Update existing XML file via serialization通过序列化更新现有 XML 文件
【发布时间】:2012-06-19 05:42:41
【问题描述】:

我正在使用 xml 序列化和反序列化来读取和写入 XML 文件。一切正常,我喜欢它,因为我可以通过我生成的单个对象访问文件中的任何数据。

但是,我必须更新某些元素或将其从我的 xml 文件中删除。通过阅读网站,我认为我可以使用 Xpath 或 LINQ 来做到这一点,但由于上述原因,我仍然喜欢通过序列化来做到这一点。可能吗?序列化是否意味着做这种逻辑?哦,我不想删除/重新创建我的文件,因为它违背了更新的目的。

【问题讨论】:

  • 无论您使用何种方法(XPath、序列化、Linq 等),您都无法在不重新创建 xml 文件的情况下对其进行部分更新。它不是数据库。

标签: c# xml xml-serialization


【解决方案1】:

在 xml 中更改它可能是不确定的,删除一个节点,除非它是集合之一,几乎肯定会破坏它,甚至可能会破坏它。你也许可以让它工作,但它会使你的代码变得非常脆弱,并可能给你留下一些非常困难的错误。

反序列化它。更改属性并再次序列化。

或者不要使用序列化来获取你的 xml。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多