5.格式化文本内容

[XmlText()]

public string Name
{
get
{ return name; }
set
{ name = value; }
}
则Name会生成在<Pupil>XXX(Name)</Pupil>中作为文本
6.为元素/属性定义数据类型
XML Schema类型与.NET数据类型有一个Mapping,比如说type对应System.DateTime

[XmlElement(DataType = " date " )]

public DateTime EnrollDate
{
get
{ return enrollDate; }
set
{ enrollDate = value; }
}
于是生成XML: <EnrollDate>2007-10-19</EnrollDate>
XMLRoot,XmlAttribute,XMLElement,XMLText,XMLArrayItem标签都可以指定DataType
7.为枚举修饰符指定其他名称

public enum Color
{
[XmlEnum(Name = " White Color " )]
White,
[XmlEnum(Name = " Black Color " )]
Black,
[XmlEnum(Name = " Red Color " )]
Red
}


private Color showColor;


public Color ShowColor
{
get
{ return showColor; }
set
{ showColor = value; }
}
生成XML如下格式:
<ShowColor>White Color</ShowColor>
8.串行化多肽数组

[XmlArray(ElementName = " Cources " ),

XmlArrayItem(Type = typeof (String), ElementName = " CourceName " ),

XmlArrayItem(Type = typeof (Int32), ElementName = " CourceCode " )]

public Object[] Subjects
{
get
{ return subjects; }
set
{ subjects = value; }
}
XmlArrayItem负责指定数组中可能出现的元素类型,以及该类型对应的XML前缀
比如说创建如下的数组:
Object obj = new Object["Physics", 123, "IT"];
生成XML如下格式:

< Cources >

< CourceName > Physics </ CourceName >

< CourceCode > 123 </ CourceCode >

< CourceName > IT </ CourceName >

</ Cources >
9.定义可空的对象引用
如果某属性为null,在串行化时会忽略该属性,可以显示替代的信息,方法如下:

[XmlElement(IsNullable = true )]

public string Address
{
get
{ return address; }
set
{ address = value; }
}
在该位置,生成替代XML:
<Address xsi:nil="true" />
10.定义可忽略的字段/属性
[XmlIgnore()]