传智播客.net培训420,XML学习记录

在学习了c#语法及常用类库后,学习了实际运用中的xml序列化
序列化就是格式化数据,用一个统一的格式保存数据,所以xml是严格区分大小写的。
这里要注意的是XML只序列化对象的公共属性和字段。在XML序列化时,私有字段和其他实例对象就丢失了。
在编程中如果要序列化要添加系统引用,xml序列化命名空间在System.Xml.Serialization下
觉得xml只要分清了数据的节点,多练习之后逻辑上并不难

序列化范例:
先注册一个文件流
FileStream file = new FileStream("D:\\xmlSer.xml", FileMode.Create, FileAccess.Write);
using (file)
{
// 序列化时,使用的是List集合,所以typeof中应放置List<>类型
利用XmlSerializer进行初始化,声明时构造参数是序列化对象类型
XmlSerializer xml = new XmlSerializer(typeof(List<Person>));
Serialize参数为文件流及要序列化对象
xml.Serialize(file, persons);
}
如果要将序列化文件转换回对象使用,Deserialize参数为文件流
List<Person> ps = (List<Person>)xml.Deserialize(file);

linqtoxml学习范例
要引用System.Xml.Linq;命名空间
// 要有一个XML文档
XDocument xdoc = new XDocument();
// 有了文档以后,需要有一个根
XElement xRoot = new XElement("root");
// 将根加到文档中
xdoc.Add(xRoot);
// 下面开始加人
XElement xPerson1 = new XElement("Person");
XElement xName1 = new XElement("Name");
XElement xAge1 = new XElement("Age");
XElement xGender1 = new XElement("Gender");
// 节点有了,没有数据
xName1.SetValue("张三");
xAge1.SetValue(18);
xGender1.SetValue('男');

// 设定Person的属性
XAttribute xAtt = new XAttribute("id", "0001");
// 将属性加到Person中
xPerson1.Add(xAtt);
// 将节点加到Person中去
xPerson1.Add(xName1, xAge1, xGender1);
// 将Person加到根节点中
xRoot.Add(xPerson1);
// 保存结果
xdoc.Save("D:\\person.xml");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值