我在数据库中有一堆xml序列化对象。
但是,我重构并重命名了所涉及的类,因此很难从数组中反序列化。
我认为通过在重命名的类上添加术语[XmlRoot("DB_Class_Name")]
可以解决问题,但似乎没有。
有没有办法使用[XmlRoot]
,[XmlElement]
等标签解决问题,而无需将我的类重命名为旧的类名,而无需编写特殊的反序列化函数?
此外,使用xmldeserializaiton和[XmlRoot]
之类的标签时,有什么好的消息来源吗?
答案 0 :(得分:3)
首先,[XmlRoot]
等不是标签,它们是属性。
其次,[XmlRoot]
仅在该类用作文档的根元素时影响该类。当该类的实例用作子级或其他后代时,它没有任何影响。
在类上使用[XmlType]
,或在类的类型属性上使用[XmlElement]
。