1

我在数据库中有一堆 xml 序列化对象。

但是,我重构并重命名了所涉及的类,因此从数据库反序列化很困难。

我认为通过[XmlRoot("DB_Class_Name")]在重命名的类顶部添加术语可以解决问题,但似乎没有。

[XmlRoot]有没有办法使用诸如等标签来解决问题[XmlElement],而无需将我的类重命名为它们的旧类名,也无需编写特殊的反序列化函数?

此外,在使用 xmldeserializaiton 和标签时,是否有任何关于幕后发生的事情的好资料[XmlRoot]

4

1 回答 1

3

首先,[XmlRoot]等不是标签,它们是属性。

其次,[XmlRoot]仅当该类用作文档的根元素时才影响该类。当该类的实例用作子类或其他后代时,它没有影响。

在类上使用[XmlType],或者[XmlElement]在属于该类类型的属性上使用。

于 2011-02-16T20:30:07.613 回答