用来控制 XML 序列化的特性

通过将下表中的特性应用于类和类成员,可以控制 XmlSerializer 序列化或反序列化该类的实例的方式。若要了解这些特性如何控制 XML 序列化,请参见使用特性控制 XML 序列化

这些特性还可用于控制 XML Web services 生成的文本样式的 SOAP 消息。有关将这些特性应用于 XML Web services 方法的更多信息,请参见 使用 XML Web services 进行 XML 序列化

有关特性的更多信息,请参见Extending Metadata Using Attributes

特性 适用对象 指定

XmlAnyAttributeAttribute

公共字段、属性、参数或返回 XmlAttribute 对象数组的返回值。

反序列化时,将会使用 XmlAttribute 对象填充数组,而这些对象代表对于架构未知的所有 XML 特性。

XmlAnyElementAttribute

公共字段、属性、参数或返回 XmlElement 对象数组的返回值。

反序列化时,将会使用 XmlElement 对象填充数组,而这些对象代表对于架构未知的所有 XML 元素。

XmlArrayAttribute

公共字段、属性、参数或返回复杂对象数组的返回值。

数组成员将作为 XML 数组的成员生成。

XmlArrayItemAttribute

公共字段、属性、参数或返回复杂对象的数组的返回值。

可以插入数组的派生类型。通常与 XmlArrayAttribute 一起应用。

XmlAttributeAttribute

公共字段、属性、参数或返回值。

成员将作为 XML 特性进行序列化。

XmlChoiceIdentifierAttribute

公共字段、属性、参数或返回值。

可以使用枚举进一步消除成员的歧义。

XmlElementAttribute

公共字段、属性、参数或返回值。

字段或属性将作为 XML 元素进行序列化。

XmlEnumAttribute

作为枚举标识符的公共字段。

枚举成员的元素名称。

XmlIgnoreAttribute

公共属性和公共字段。

序列化包含类时,应该忽略属性或字段。

XmlIncludeAttribute

公共派生类声明,以及 Web 服务描述语言 (WSDL) 文档的公共方法的返回值。

生成要在序列化时识别的架构时,应该将该类包括在内。

XmlRootAttribute

公共类声明。

控制视为 XML 根元素的特性目标的 XML 序列化。使用该特性可进一步指定命名空间和元素名称。

XmlTextAttribute

公共属性和公共字段。

属性或字段应该作为 XML 文本进行序列化。

XmlTypeAttribute

公共类声明。

XML 类型的名称和命名空间。

除了这些特性(全部位于 System.Xml.Serialization 命名空间中)之外,还可以将 System.ComponentModel.DefaultValueAttribute 特性应用于字段。DefaultValueAttribute 可以设置在未指定值时将自动分配给成员的值。

若要控制编码的 SOAP XML 序列化,请参见用来控制编码的 SOAP 序列化的特性

另请参见

任务

如何:指定 XML 流的替代元素名称
如何:序列化对象
如何:反序列化对象

参考

XmlSerializer

概念

使用特性控制 XML 序列化

其他资源

XML 和 SOAP 序列化