我可以使用XmlSerializer控制某些字段的序列化

use*_*926 4 .net c# xml c#-4.0

我可以在c#中使用XmlSerializer来控制某些字段的序列化吗?Fox示例一个名为"Type"(字符串)的属性被序列化为别的而不是字符串.提前致谢.

bob*_*mcr 5

您可以通过XmlElement/ XmlAttributeannotations 控制一些内容- 元素的名称,无论是属性还是完整的XML元素等.但是,您无法直接更改类型.如果您需要支持任何类型的复杂序列化方案,XmlSerializer由于其许多限制,不是一个好的选择.您最好使用DataContractSerializer(参见WCF文档中的"使用数据协定"),甚至可以自己编写.

如果您只想更改生成的序列化数据的XML类型(例如,使用自定义XML类型或命名空间),您可以使用该XmlType属性执行此操作,但这仅适用于您声明的类型而不是原始CLR类型(例如你不能把字符串变成一个整数或另一个更复杂的类型).