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 ...
随机推荐
- mongo 主从数据不同步
在从库上执行如下命令: repset:SECONDARY> rs.slaveOk()repset:SECONDARY> db.runCommand({"resync": ...
- get_free_page
/** 0.11用了 unsigned char */static unsigned short mem_map [ PAGING_PAGES ] = {0,}; /* * Get physical ...
- LNMP源码安装
1. mysql安装 # Preconfiguration setup shell > groupadd mysql shell > useradd -r -g mysql -s /bin ...
- CDN下nginx获取用户真实IP地址
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户 ...
- ovirt-engine安装
一.安装 1.更新系统 原来是centos4.5 #yum update 升级后到6.7版本. [root@localhost ~]# cat /etc/redhat-release CentOS r ...
- [转]asp.net c# 网上搜集面试题目(附答案)
本文转自:http://www.cnblogs.com/hndy/articles/2234188.html 1.String str=new String("a")和String ...
- java设计模式之适配器模式
说到适配器,我们可能会想到电脑的适配器,没错,其实作用是一样的,电脑的适配器在中国可以使用,在美国也可以使用,它的主要作用是在新接口和老接口之间进行适配..这就是一个适配的过程,适配器模式的类图如下: ...
- 【温故而知新-Javascript】使用 Ajax(续)
1. 准备向服务器发送数据 Ajax 最常见的一大用途是向服务器发送数据.最典型的情况是从 客户端发送表单数据,即用户在form元素所含的各个 input 元素里输入的值.下面代码展示了一张简单的表单 ...
- HDU 5895 Mathematician QSC(矩阵乘法+循环节降幂+除法取模小技巧+快速幂)
传送门:HDU 5895 Mathematician QSC 这是一篇很好的题解,我想讲的他基本都讲了http://blog.csdn.net/queuelovestack/article/detai ...
- bzoj3339 rmq problem (range mex query)
给一个长度为n的数列a,q个询问,每次询问一段区间的mex.(没有出现过的最小非负整数) 1<=n,q<=200000,0<=ai<=200000. 题解1 莫队 我们将权值分 ...