通过将下表中的属性应用于类和类成员,可以控制 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 序列化的属性的更多相关文章

  1. .NET中XML序列化和反序列化常用类和用来控制XML序列化的属性总结(XmlSerializer,XmlTypeAttribute,XmlElementAttribute,XmlAttributeAttribute,XmlArrayAttribute...)

    序列化和反序列化是指什么? 序列化(seriallization): 将对象转化为便于传输的数据格式, 常见的序列化格式:二进制格式,字节数组,json字符串,xml字符串.反序列化(deserial ...

  2. 在C#中使用属性控制 XML 序列化来解析XML

    今天需要解析一个XML,这个XML和一般情况用.NET的序列化出来的格式不太一样. 我就又补习了一下. 分享一下学习成果吧. 示例代码下载: http://download.csdn.net/deta ...

  3. C#.NET解析XML(使用属性控制 XML 序列化)

    使用属性可以控制对象的 XML 序列化. 默认情况下,XML 元素名称由类或成员名称确定.在名为 Book 的简单类中,字段 ISBN 将生成 XML 元素标记 <ISBN>,如下面的示例 ...

  4. XML序列化 System.Xml.Serialization

    一.定义元数据 XML序列化常用属性:XMLRoot,XMlType.XMLText.XMLEnum等 [Serializable] [XmlRoot] public class Product { ...

  5. [.net 面向对象程序设计进阶] (11) 序列化(Serialization)(三) 通过接口 IXmlSerializable 实现XML序列化 及 通用XML类

    [.net 面向对象程序设计进阶] (11) 序列化(Serialization)(三) 通过接口 IXmlSerializable 实现XML序列化 及 通用XML类 本节导读:本节主要介绍通过序列 ...

  6. XML序列化和反序列化

    上篇总结了下JSON的序列化和反序列化,博园中大牛给了很多牛叉的评论,学习了不少. 不过在上篇中忘了把json序列化和反序列化的另外一种方式写上去了,这里做个简单的补充: Json篇:http://w ...

  7. XmlSerializer 对象的Xml序列化和反序列化

    http://www.cnblogs.com/yukaizhao/archive/2011/07/22/xml-serialization.html 这篇随笔对应的.Net命名空间是System.Xm ...

  8. 【转】Xml序列化

    XML序列化是将对象的公共属性和字段转换为XML格式,以便存储或传输的过程.反序列化则是从XML输出中重新创建原始状态的对象.XML序列化中最主要的类是XmlSerializer类.它的最重要的方法是 ...

  9. .net学习笔记---xml序列化

    XML序列化是将对象的公共属性和字段转换为XML格式,以便存储或传输的过程.反序列化则是从XML输出中重新创建原始状态的对象.XML序列化中最主要的类是XmlSerializer类.它的最重要的方法是 ...

随机推荐

  1. UVA10304---(区间DP)

    第一开始想着枚举根节点,然后记忆化搜索..结果TLE,最后还是看了一眼题解瞬间明白了..唉,还是思维太局限了 由于数据是按照从小到大排列的,可以自然地组成一颗二叉排序树. 设dp[i][j]是区间[i ...

  2. syslog-ng-3.5.6把容器的单核cpu跑满

    Question 最近,偶然,会有人说,其docker容器中syslog-ng把cpu跑满,使用perf,mpstat,strace工具看到是syslog-ng在内核态cpu使用率很高,怀疑是某个系统 ...

  3. 使用Reporting Service订阅对域外用户发邮件

    默认情况下使用Reporting Service对域外邮件发送会失败,一般可能会碰到下面的两个错误: ERROR 1: Subscription Error: "The e-mail add ...

  4. emacs window版环境配置(设置默认的.emacs文件,指向自定义.emacs达到自定义home的目的)

    1.下载解压包 下载地址  ,下载之后我是直接解压到E:\emacs中的,E:\emacs中就有bin,libexec…等文件; 2.点击bin中的addpm.exe文件进行安装emacs; 3.就会 ...

  5. 关于 linux ssh 的配置.

    一.禁止root用户远程登录: # cd /etc/ssh # vi sshd_config  将 permitRootLogin 后面的值改成 no 如下图: 然后再重启sshd服务即可,如下: # ...

  6. asp.net 发送邮件函数两则

    using System.Net.Mail; using System.Text; using System.Net; #region 邮件发送 /// <summary> /// 邮件发 ...

  7. JS正则表达式收集篇

    1.验证只可输入整数或小数点后两位的数字:/^([1-9]{1}|[1-9]{1}[0-9])+(.[1-9]{1,2})?$/ 2.验证Email: /^([a-zA-Z0-9]+[_|\_|\.] ...

  8. (转)swfobject.js 详细解说

    一直想对这个应用做个总结,今天偶然百度到这个效果,为此做个笔记. 用这个js的好处: 1.IE中没有讨厌的虚框问题了.2.提供了完善的版本检测功能,如果版本不够则显示其他东西,比如图片或文字.3.易于 ...

  9. Android HttpClient框架get和post方式提交数据(非原创)

    1.fragment_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android& ...

  10. 基础命名空间:序列化 System.Runtime.Serialization

    对象通常都有状态(state),从一个对象中抽取这种状态,不论是将它存储于某地,还是通过网络传送,这种抽取动作称为“将一个对象序列化”,而反向处理过程,从一个被序列化的状态重建一个对象即为反序列化. ...