例如:
<apple />
将序列化为一个名为“apple”的类。但是,如果我想将该类称为“Dragon”,它将不会序列化(这是有道理的)。我想知道如何标记“Dragon”,以便当XmlSerializer看到它时,它知道“Dragon”与
相同答案 0 :(得分:8)
假设Dragon
至少定义了apple
所属的属性和字段的超集,那么competent_tech的答案是合适的,尽管我认为你的问题实际上是在询问:
[System.Xml.Serialization.XmlType("apple")]
public class Dragon
如果Dragon
不与apple
兼容,那么您最好在类型之间执行显式转换。假设您的应用程序知道apple
和Dragon
的定义,可以通过将apple
流反序列化为apple
对象,将属性映射到新Dragon
来实现。 1}} object,然后序列化Dragon
对象。
答案 1 :(得分:5)
您可能希望将System.Xml.Serialization.XmlTypeAttribute添加到班级。
[System.Xml.Serialization.XmlType("Dragon")]
public class apple