XML序列化和反序列化
来源:互联网 发布:怎么看淘宝客 编辑:程序博客网 时间:2024/04/26 03:50
序列化一些复杂的xml数据
//[Serializable]
public class Person
{
[XmlAttribute]
public string Name;
public string Age;
public string Sex;
}
//[Serializable]
public class Part
{
[XmlArrayAttribute("Persons")]
public Person[] Persons;
}
序列化:
string filename = “test.xml”;
XmlSerializer serializer = new XmlSerializer(typeof(Part));
TextWriter writer = new StreamWriter(filename);
Part pt = new Part();
// Creates Person
Person p1 = new Person();
p1.Name = "liming";
p1.Sex = "male";
p1.Age = "23";
Person p2 = new Person();
p2.Name = "lili";
p2.Sex = "female";
p2.Age = "22";
Person[] Persons = { p1, p2 };
pt.Persons = Persons;
serializer.Serialize(writer, pt);
writer.Close();
反序列化:
string filename = “test.xml”;
using (System.IO.StreamReader reader = new System.IO.StreamReader(filename ))
{
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(Part));
//处理未知节点
xs.UnknownNode += new XmlNodeEventHandler(xs_UnknownNode);
//处理未知属性
xs.UnknownAttribute += new XmlAttributeEventHandler(xs_UnknownAttribute);
Part part = xs.Deserialize(reader) as Part;
reader.Close();
for (int i = 0; i < part.Persons.Count(); i++ )
{
Person person = part.Persons[i] as Person;
richTextBox1.Text += "Name:" + person.Name + "/n" +
"Age: " + person.Age + "/n" +
"Sex: " + person.Sex + "/n";
}
}
事件处理:
void xs_UnknownAttribute(object sender, XmlAttributeEventArgs e)
{
System.Xml.XmlAttribute attr = e.Attr;
richTextBox1.Text += "Unknown attribute " + attr.Name + "='" + attr.Value + "'";
}
void xs_UnknownNode(object sender, XmlNodeEventArgs e)
{
richTextBox1.Text += "Unknown Node:" + e.Name + "/t" + e.Text;
}
- XML序列化和反序列化
- XML序列化和反序列化
- Xml序列化和反序列化
- XML序列化和反序列化
- xml序列化和反序列化
- XML序列化和反序列化
- XML序列化和反序列化
- Xml序列化和反序列化
- 二进制流序列化(反序列化)和XML序列化(反序列化)
- XML和实体序列化和反序列化
- 序列和反序列化
- 序列和反序列化
- C#中XML序列化和反序列化初探
- .NET对象的XML序列化和反序列化
- .NET对象的XML序列化和反序列化
- .NET对象的XML序列化和反序列化
- xml的序列化和反序列化
- XML序列化和反序列化集合示例
- Windows Media Player控件的使用和使用心得
- 深入GetMessage和PeekMessage
- 自我介绍
- 热门的技术教程!ASP.NET MVC, JQuery, ASP.NET AJAX and ADO.NET Entity Framework
- php网站根目录
- XML序列化和反序列化
- Effective C++ 3nd 读书摘要(九、杂项讨论)Item53 - 55
- 二级必会副词2
- 如何去掉VS2005自带的development server的虚拟路径[转]
- 每天一设计模式之建造者模式
- 数电好难
- 不想要孩子”:德国妇女的生育观
- 性能测试及性能调整概述
- “高考移民”:一种不该有的折腾