XML序列化和反序列化(C#)
http://www.codeproject.com/Articles/483055/XML-Serialization-and-Deserialization-Part-1
public static class ExtXMLSerialization
{
public static void SerializeToXml<T>(T obj, string fileName)
{
XmlSerializer ser = new XmlSerializer( typeof(T));
FileStream fileStream = new FileStream(fileName, FileMode.OpenOrCreate);
ser.Serialize(fileStream, obj);
fileStream.Close();
} public static T DeserializeFromXml<T>(string xml)
{
T result;
XmlSerializer ser = new XmlSerializer( typeof(T));
using (TextReader tr = new StringReader(xml))
{
result = (T)ser.Deserialize(tr);
}
return result;
}
}
using System.Xml.Serialization;
using System.IO;
class Program
{
static void Main(string[] args)
{
Class1 a = new Class1();
a.Property1 = ;
a.Property2 = "aaa";
ExtXMLSerialization.SerializeToXml<Class1 >(a, "C:\\1.xml"); Console.Read();
}
} public class Class1
{
public int Property1
{
get;
set;
} public string Property2
{
get;
set;
}
}
<Class1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Property1>1</Property1>
<Property2>aaa</Property2>
</Class1>
public class Class1List
{
[ XmlElement("Class1" )]
public List <Class1> MyList
{
get;
set;
} public Class1List()
{
MyList = new List <Class1>();
}
}
static void Main(string[] args)
{
Class1 a = new Class1();
a.Property1 = ;
a.Property2 = "aaa";
Class1 b = new Class1();
b.Property1 = ;
b.Property2 = "bbb";
Class1List list = new Class1List();
list.MyList.Add(a);
list.MyList.Add(b);
ExtXMLSerialization.SerializeToXml<Class1List >(list, "C:\\1.xml"); Console.Read();
}
<Class1List xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Class1>
<Property1>1</Property1>
<Property2>aaa</Property2>
</Class1>
<Class1>
<Property1>2</Property1>
<Property2>bbb</Property2>
</Class1>
</Class1List>
</Class1>
XML序列化和反序列化(C#)的更多相关文章
- XML 序列化与反序列化
XML序列化与反序列化 1.将一个类转化为XML文件 /// <summary> /// 对象序列化成XML文件 /// </summary> /// <param na ...
- XmlSerializer 对象的Xml序列化和反序列化
http://www.cnblogs.com/yukaizhao/archive/2011/07/22/xml-serialization.html 这篇随笔对应的.Net命名空间是System.Xm ...
- C#的XML序列化及反序列化
webservice在工作中用到的很多,基本都是以XML格式问通讯内容,其中最关键的就是XML串的序列化及反序列化. XML的运用中有两种信息传递,一种为XML的请求信息,另一种为返回信息,要运用XM ...
- .NET XML序列化与反序列化
闲着没事,写了两个通用的XML序列化与反序列化的方法. 贴出来当作笔记吧! /// <summary> /// XML序列化 /// </summary> /// <ty ...
- XmlSerializer 对象的Xml序列化和反序列化,XMLROOT别名设置
这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间. 为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中 ...
- c# XML序列化与反序列化
c# XML序列化与反序列化 原先一直用BinaryFormatter来序列化挺好,可是最近发现在WinCE下是没有办法进行BinaryFormatter操作,很不爽,只能改成了BinaryWrite ...
- Xml序列化、反序列化帮助类
之前从网络上找了一个Xml处理帮助类,并整理了一下,这个帮助类针对Object类型进行序列化和反序列化,而不需要提前定义Xml的结构,把它放在这儿供以后使用 /// <summary> / ...
- Windows phone 之XML序列化与反序列化
为什么要做序列化和反序列化? 一个回答: 我们都知道对象是不能在网络中直接传输的,不过还有补救的办法.XML(Extensible Markup Language)可扩展标记语言,本身就被设计用来存储 ...
- C#操作Xml:XmlSerializer 对象的Xml序列化和反序列化
这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间. 为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中的对 ...
- C#实现接口xml序列化与反序列化
C#实现接口xml序列化与反序列化 C#中接口无法被xml序列化,提示不支持.百度和bing也搜不到,只好自己动手写了 原理上肯定支持,.Net自己的xml序列化有一个IXmlSerializab ...
随机推荐
- ubuntu 的runlevel设定
修改ubuntu的启动级别 runlevel ----------------------------------------------------------------------------- ...
- vue 不能检测数组长度 值变化原因解析
1.vue不能检测数组长度或者值的变化 (1)数组长度变化 未检测到 <!DOCTYPE html> <html lang="en"> <head&g ...
- SQL中的重要语句
1.查询每个数据库有多少空间被浪费 如果你想知道在你数据库设计后,每页有多少空间浪费掉,你可 以通过下列动态管理视图(DMV)查询下缓冲池:sys.dm_os_buffer_descriptors 从 ...
- Linux下如何修改root密码以及找回root密码
Linux下修改root密码方法 以root身份登陆,执行: passwd 用户名 然后根据提示,输入新密码,再次输入新密码,系统会提示成功修改密码. 具体示例如下: [root@www ~]# pa ...
- iOS 九宫格手势密码
代码地址如下:http://www.demodashi.com/demo/11490.html 一.准备工作 需要准备什么环境 xcode,iOS8+ 本例子实现什么功能 主要实现手势密码设置,验证 ...
- 织梦dedecms修改include和plus重命名提高安全性防漏洞注入挂马
织梦dedecms是新手站长使用得比较多的一个建站开源程序,正因如此,也是被被入侵挂马比较多的程序.下面就来跟大家说一下怎么重新命名dedecms的include文件夹以及plus文件夹来提高网站的安 ...
- 关于数组中加入相同的view的试验
随便新建一个工程,然后在控制器中粘贴如下代码 - (void)viewDidLoad { [super viewDidLoad]; UIView * view = [[UIView alloc]ini ...
- Linux中使用Crontab定时监测维护Tomcat应用程序的方法
Linux中使用Crontab定时监测维护Tomcat应用程序的方法 功能需求: 定时监测发布的某项应用程序是否可用,如果不可用,立即执行处理措施,实现自动化运维工作. 监测的应用接口: 新闻接口.天 ...
- EMQ 学习---订阅$SYS主题,捕获客户端上下线消息
acl.config文件定义了可订阅$SYS主题的权限. {allow, {user, "dashboard"}, subscribe, ["$SYS/#"]} ...
- [Oracle] enq: TX - row lock contention 优化案例
依据开发反馈.近期每天早上7:30应用会报警.应用的日志显示数据库连接池满了.新的连接被拒绝. 首先.我做了ASH报告(报告区间:7:25 ~ 7:35),从ASH的等待事件发现enq: TX - r ...