zoukankan
html css js c++ java
.Net下的XML序列化(一)
XML序列化可以让你使用class-friendly的方式操作XML。我们可以方便的将某个类序列化成XML字符串或文件,这里是一个例子。
Address类:
[Serializable]
public
class
Address
{
public
Address()
{}
public
string
Street
{
get
{
return
street; }
set
{ street
=
value; }
}
private
string
street;
public
string
City
{
get
{
return
city; }
set
{ city
=
value; }
}
private
string
city;
public
string
State
{
get
{
return
state; }
set
{ state
=
value; }
}
private
string
state;
}
Customer类:
[Serializable]
public
class
Customer
{
public
Customer()
{}
public
string
Name
{
get
{
return
name; }
set
{ name
=
value; }
}
private
string
name;
public
Address Address
{
get
{
return
address; }
set
{ address
=
value; }
}
private
Address address;
}
必须在将要序列化的类上加入特性[Serializable]
生成测试数据:
public
static
Customer GetGustomer()
{
Customer customer
=
new
Customer();
Address address
=
new
Address();
address.City
=
"
北京
"
;
address.State
=
"
丰台
"
;
address.Street
=
"
马家堡西里
"
;
customer.Address
=
address;
customer.Name
=
"
BillChen
"
;
return
customer;
}
进行序列化操作。
[STAThread]
static
void
Main(
string
[] args)
{
Customer customer
=
Customers.GetGustomer();
SerializerCustomer1(customer);
SerializerCustomer2(customer);
SerializerCustomer3(customer);
Console.ReadLine();
}
private
static
void
SerializerCustomer1(Customer customer)
{
XmlSerializer ser
=
new
XmlSerializer(
typeof
(Customer));
FileStream stream
=
new
FileStream(
"
test.xml
"
, FileMode.OpenOrCreate);
ser.Serialize( stream, customer );
stream.Close();
}
private
static
void
SerializerCustomer2(Customer customer)
{
XmlSerializer ser
=
new
XmlSerializer(
typeof
(Customer));
MemoryStream stream
=
new
MemoryStream(
100
);
ser.Serialize( stream, customer );
stream.Position
=
0
;
using
(StreamReader reader
=
new
StreamReader(stream, Encoding.UTF8))
{
Console.Write(reader.ReadToEnd());
}
}
private
static
void
SerializerCustomer3(Customer customer)
{
XmlSerializer ser
=
new
XmlSerializer(
typeof
(Customer));
MemoryStream stream
=
new
MemoryStream(
100
);
XmlTextWriter writer
=
new
XmlTextWriter(stream, Encoding.UTF8);
writer.Formatting
=
Formatting.Indented;
//
缩进
ser.Serialize( writer, customer );
stream.Position
=
0
;
using
(StreamReader reader
=
new
StreamReader(stream, Encoding.UTF8))
{
string
line;
while
((line
=
reader.ReadLine())
!=
null
)
{
Console.WriteLine(line);
}
}
writer.Close();
}
以上是序列化指定的类,及读取序列化后的XML内容的几种方式。
查看全文
相关阅读:
关于swift 单元测试的补充
架构设计案例分析-高速公路收费运营管理平台
可以落地的软件架构
循序渐进地培养面向对象的思维方式
动态规划初学
求解惑
github eclipse项目
关于x86 i586之类
Manifest intent filter翻译
消息处理机制小结
原文地址:https://www.cnblogs.com/chenjunbiao/p/1760275.html
最新文章
两根不均匀分布的香
三个人去住旅馆
小鸟飞行了多长距离
Memcached
Iptables
JS中的异步操作有哪些
js实现添加和删除
js实现计算机效果
orm映射 封装baseDao
生成验证码
热门文章
封装jdbc 单例模式的应用
Java 程序员必须掌握的 Linux 命令(转:导师Jencks)
servlet jsp jdbc bootstrarp mvc分层模式实现的第一个项目
js jquery中判断checkbox是否被选中的方法
java中的反射简单实例
java中的单例模式(懒汉式+饿汉式)
java方法重载(overload)、重写(override);this、super关键简介
django中静态文件路径配置
数据库常用字段分析
js Cookie 学习笔记
Copyright © 2011-2022 走看看