C# XML序列化的学习实践中发现它真是C#中一个很有用的功能,那么作为一个类的XML序列化。它是如何做到使得一个复杂的对象存储到文件中,并且实现轻易读取呢?并且还是在不需要写任何XML相关具体代码的条件下。那么下面来看看具体的实现过程。
C# XML序列化实现实例:假设有一个类
- public class Person
- {
- public Person(string Name,string ID)
- {
- name=Name;
- id=ID;
- }
- public string name;
- public string id;
- }
C# XML序列化之现有某个实体
- Person person1=new Person("abc","1234");
欲将其序列化,只需
- XmlSerializer s = new XmlSerializer(typeof(Person ));
- TextWriter w = new StreamWriter( "person1.xml" );
- s.Serialize(w, person1);
- w.Close();
你甚至无需担心生成的XML是什么样子的。当你需要读回它时
- TextReader r = new StreamReader( "person1.xml" );
- Person person2= (Person)s.Deserialize( r );
- r.Close();
现在看一下列表,没有太大变化
- List<Person> people=new List<Person>();
- people.Add(new Person("abc","123"));
- people.Add(new Person("def","123"));
- XmlSerializer s = new XmlSerializer(List<Person>);
- s.Serialize(Console.Out, people);
一个稍微复杂点的情况,现在有一个ArrayList需要序列化
- ArrayList people=new ArrayList();
- people.Add(new Person("abc","123"));
- people.Add(new Person("def","123"));
你需要告诉系统关于数组的信息
- XmlSerializer s =
- new XmlSerializer(typeof(ArrayList),
- new Type[] { typeof(Person) });
- s.Serialize(Console.Out, people);
C# XML序列化的具体实现过程以及所表现的特点就向你介绍到这里,希望对你了解和认识C# XML序列化有所帮助。
【编辑推荐】