序列化一个类通常添加[XmlRoot("根节点名字")] 找到要序列化的内容

对要序列化的类添加 [Serializable]属性用于序列化

对于要序列化的字段添加  [XmlElement("序列化对应的节点名字,即字段的别名")]

 



<Headmaster IsAssistant="false">
private bool _isAssistant;
[XmlAttribute("IsAssistant")]
public bool IsAssistant
{
get
{
return _isAssistant;
}

set
{
_isAssistant = value;
}
}


<Name>June</Name>
[XmlText()]
public string Name
{
get
{
return _name;
}

set
{
_name = value;
}
}



<Classes>
<Class>
<Teacher>
<Name>June</Name>
<Sex>O</Sex>
<Age>30</Age>
</Teacher>
<Students>
<Student>
<Name>Student1</Name>
<Sex>I</Sex>
<Age>10</Age>
</Student>
</Students>
</Class>
<Class>
<Teacher>
<Name>Sam</Name>
<Sex>I</Sex>
<Age>32</Age>
</Teacher>
<Students>
<Student>
<Name>Student2</Name>
<Sex>O</Sex>
<Age>10</Age>
</Student>
<Student>
<Name>Student3</Name>
<Sex>I</Sex>
<Age>10</Age>
</Student>
<Student>
<Name>Student4</Name>
<Sex>O</Sex>
<Age>10</Age>
<Skill>DB</Skill>
<Skill>C#</Skill>
</Student>
</Students>
</Class>
</Classes>

private List<Class> _classes = new List<Class>();
[XmlArray("Classes")]
[XmlArrayItem("Class")]
public List<Class> Classes
{
get
{
return _classes;
}
}


[Serializable]:用于标志这个类是可进行序列化的。注意此属性只能用于类定义上,另外类也可以通过实现System.Runtime.Serialization.ISerializable进行自定义序列化控制。

[XmlRoot]:用于定义xml根节点的节点名称。

[XmlElement]:用于定义类属性在序列化中对应节点的名称。

[XmlIgnore]:标志此属性不参与序列化。

[XmlArray]:通常与[XmlArrayItem]配合使用,定义数组的父节点名称与子节点名称。


此随笔或为自己所写、或为转载于网络。仅用于个人收集及备忘。