xml序列化及反序列化.net对象
序列化一个类通常添加[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></Age>
</Teacher>
<Students>
<Student>
<Name>Student1</Name>
<Sex>I</Sex>
<Age></Age>
</Student>
</Students>
</Class>
<Class>
<Teacher>
<Name>Sam</Name>
<Sex>I</Sex>
<Age></Age>
</Teacher>
<Students>
<Student>
<Name>Student2</Name>
<Sex>O</Sex>
<Age></Age>
</Student>
<Student>
<Name>Student3</Name>
<Sex>I</Sex>
<Age></Age>
</Student>
<Student>
<Name>Student4</Name>
<Sex>O</Sex>
<Age></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]配合使用,定义数组的父节点名称与子节点名称。
xml序列化及反序列化.net对象的更多相关文章
- XmlSerializer 对象的Xml序列化和反序列化
http://www.cnblogs.com/yukaizhao/archive/2011/07/22/xml-serialization.html 这篇随笔对应的.Net命名空间是System.Xm ...
- XmlSerializer 对象的Xml序列化和反序列化,XMLROOT别名设置
这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间. 为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中 ...
- C#操作Xml:XmlSerializer 对象的Xml序列化和反序列化
这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间. 为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中的对 ...
- XML 序列化与反序列化
XML序列化与反序列化 1.将一个类转化为XML文件 /// <summary> /// 对象序列化成XML文件 /// </summary> /// <param na ...
- c# XML序列化与反序列化
c# XML序列化与反序列化 原先一直用BinaryFormatter来序列化挺好,可是最近发现在WinCE下是没有办法进行BinaryFormatter操作,很不爽,只能改成了BinaryWrite ...
- Xml序列化、反序列化帮助类
之前从网络上找了一个Xml处理帮助类,并整理了一下,这个帮助类针对Object类型进行序列化和反序列化,而不需要提前定义Xml的结构,把它放在这儿供以后使用 /// <summary> / ...
- Windows phone 之XML序列化与反序列化
为什么要做序列化和反序列化? 一个回答: 我们都知道对象是不能在网络中直接传输的,不过还有补救的办法.XML(Extensible Markup Language)可扩展标记语言,本身就被设计用来存储 ...
- C# Note4:XML序列化和反序列化(含加密解密等)
前言 在项目中,我们经常用到各种配置文件,比如xml文件.binary文件等等,这里主要根据实践经验介绍下xml文件的序列化和反序列化(毕竟最常用). 实践背景:我要做一个用户管理功能,用户账号信息存 ...
- xml序列化与反序列化工具
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
随机推荐
- Servlet/JSP-06 Session
一. 概述 Session 指客户端(浏览器)与服务器端之间保持状态的解决方案,有时候也用来指这种解决方案的存储结构. 当服务器端程序要为客户端的请求创建一个 Session 时,会首先检查这个请求里 ...
- 异或的精彩应用 FIX_BTMAP_END
源文件是arch/x86/include/asm/fixmap.henum fixed_addresses {#ifdef CONFIG_X86_32 FIX_HOLE,... _ ...
- netbeans设置语言
netbeans的界面语言 默认是按系统语言 设的. 想要自己指定的话,加上以下参数就可以了. 中文 --locale zh:CN 英文 --locale en:US 日文 --locale ja:J ...
- Qt回忆录之配置开发环境
光阴荏苒,用Qt开发已经一年多了.在Windows上开发GUI,最常用的莫过于MFC,WinForm,WPF以及Qt.MFC和Qt是基于C++,而WinForm和WPF一般是基于C#,当然在PC上基于 ...
- TFS 2013 生成(构建)历史记录保持策略(Retention Policy)
TFS服务器通过自动构建,实现软件生成和发布的自动化过程,这一直是TFS系统中非常重要的一个功能模块.近年来发布的TFS版本,都在自动化构建方面大幅增强了相应的功能.在这篇博客里我主要总结TFS 20 ...
- 微软极品工具箱-Sysinternals Suite
工具包由来 Sysinternals Suite是微软发布的一套非常强大的免费工具程序集,一共包括74个windows工具.Sysinternals是Winternals公司提供的免费工具,Winte ...
- Adobe Air移动开发本人体会
采用FLASH BUILD4.6开发 1.没有mx:Canvas了,s:BordContainer未经手机优化,也不敢用,只有用s:Group 2.好多控件没有了,如DropDownList,Prog ...
- SQL——查询考试
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- java 23 - 2 设计模式之单例模式
单例模式:保证类在内存中只有一个对象. 如何保证类在内存中只有一个对象呢? A:把构造方法私有 B:在成员位置自己创建一个对象 C:通过一个公共的方法提供访问 单例模式之饿汉式: (一进来就造对 ...
- iOS UIControl 详解
UIControl是UIView的子类,当然也是UIResponder的子类.UIControl是诸如UIButton,UISwitch,UItextField等控件的父类,它本身包含了一些属性和方法 ...