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 ...
随机推荐
- shadow mapping实现动态shadow实现记录 【转】
http://blog.csdn.net/iaccepted/article/details/45826539 前段时间一直在弄一个室内场景,首先完成了render,效果还可以.然后给其加上shado ...
- 教你用 google-drive-ocamlfuse 在 Linux 上挂载 Google Drive
如果你在找一个方便的方式在 Linux 机器上挂载你的 Google Drive 文件夹, Jack Wallen 将教你怎么使用 google-drive-ocamlfuse 来挂载 Google ...
- JQuery的get、post和ajax方法的使用
在JQuery中可以使用get,post和ajax方法给服务器端传递数据 get方法的使用(customForGet.js文件): function verify(){ //1.获取文本框的数据 // ...
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)如何在TwinCAT Scope中做变量监控
为了更好的监控变量,可以打开ScopeView即变量监控器 添加一个Scope View,然后右击添加一个Channel 我们在之前登录的时候可以选择Run-Time的端口(默认是801) ...
- Java之内部类(1) - 为什么需要内部类
为什么需要内部类 一般来说,内部类继承自某个类或实现某个接口,内部类的代码操作创建它的外围类的对象.所以可以认为内部类提供了某种进入其外围类的窗口. 内部类必须要回答的一个问题是:如果只是需要一个对接 ...
- 【DB2】查询上月末、上年末、上年同期等信息
此处以20180612为例子 想得到上年末.上年同期.上月末这些时间点,只需要记住函数ADD_MONTHS.LAST_DAY.ADD_YEARS这些函数即可. 上年末 SELECT SUBSTR(TO ...
- Unable to locate package错误
W: GPG error: http://nginx.org precise Release: The following signatures couldn't be verified becaus ...
- 自制MVC框架CRUD操作、列表、分页显示插件介绍
这里涉及到的操作都是引用自Stephen.DALService数据层.数据访问层实现方式在后文中我会仔细的说明,先说明一下数据操作集成的插件. 1).InsertAttribute 用于插入记录. 状 ...
- C#使用技巧之调用JS脚本(转)
.创建个Winform项目. .在From1上增加一个文本框一个按钮. .在解决方案中创建一个test.js文件. test.js代码如下: function sayHello(str) { retu ...
- MySQL加速查询速度的独门武器:查询缓存
[导读] 与朋友或同事谈到MySQL查询缓存功能的时候,个人喜欢把查询缓存功能Query Cache比作荔枝, 是非常营养的东西,但是一次性吃太多了,就容易上火而流鼻血,虽然不是特别恰当的比喻,但是有 ...