您可以通过XmlElement/ XmlAttributeannotations 控制一些内容- 元素的名称,无论是属性还是完整的XML元素等.但是,您无法直接更改类型.如果您需要支持任何类型的复杂序列化方案,XmlSerializer由于其许多限制,不是一个好的选择.您最好使用DataContractSerializer(参见WCF文档中的"使用数据协定"),甚至可以自己编写.
如果您只想更改生成的序列化数据的XML类型(例如,使用自定义XML类型或命名空间),您可以使用该XmlType属性执行此操作,但这仅适用于您声明的类型而不是原始CLR类型(例如你不能把字符串变成一个整数或另一个更复杂的类型).