c# - 处理 XML 更改的好方法

标签 c# sql xml linq

我们的系统将 XML 字符串存储在数据库中。我最近不得不更改一个类的属性,现在当一个 XML 字符串被反序列化时,它会抛出一个异常。处理此更改的最佳方法是什么?使用 XPATH 或 LINQ 在应用程序代码中查找节点,或更改 sql 数据库中的 xml 字符串(即进行批量更新)?

最佳答案

您可能想要查看编写自定义 XML 反序列化程序(即实现 IXmlSerializable,请参阅 here)来处理 XML 中的更改。如果您已投入大量时间来制作 XML 序列化属性,您可能想看看另一种方法。

考虑批量升级您的 XML,或弃用(而不是删除)类内的属性并将旧行为映射到新行为。

从长远来看,您会想出一个策略来在未来处理这个问题,因为您很可能会在添加/更改系统功能时继续更改架构/对象定义。

关于c# - 处理 XML 更改的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2224263/

相关文章:

xml - Firefox 和远程 XSL 样式表

c# - 在 LINQ 中调用 Task<> 方法并返回数据

sql - 在 redshift 中使用正则表达式

sql - 选择 COUNT(*) 有时返回 0,有时不返回任何内容

sql - 将它们之间的类型和纯函数(使用类似 ML 或类似 Haskell 的语言)编译为 SQL

php - 喊播 xml 文件

c# - 使用 XPath 查询从匹配的 XML 节点获取属性值

c# - 使用 Tamir.SharpSsh 的 SSH/SFTP 连接问题

c# - Azure 引用了错误的 DLL

c# - C#中System.IO.File.Copy和copy、xcopy、robocopy命令的一些问题