C# XML序列化實(shí)例學(xué)習(xí)詮釋
C# XML序列化的學(xué)習(xí)實(shí)踐中發(fā)現(xiàn)它真是C#中一個很有用的功能,那么作為一個類的XML序列化。它是如何做到使得一個復(fù)雜的對象存儲到文件中,并且實(shí)現(xiàn)輕易讀取呢?并且還是在不需要寫任何XML相關(guān)具體代碼的條件下。那么下面來看看具體的實(shí)現(xiàn)過程。
C# XML序列化實(shí)現(xiàn)實(shí)例:假設(shè)有一個類
- public class Person
- {
- public Person(string Name,string ID)
- {
- name=Name;
- id=ID;
- }
- public string name;
- public string id;
- }
C# XML序列化之現(xiàn)有某個實(shí)體
- Person person1=new Person("abc","1234");
欲將其序列化,只需
- XmlSerializer s = new XmlSerializer(typeof(Person ));
- TextWriter w = new StreamWriter( "person1.xml" );
- s.Serialize(w, person1);
- w.Close();
你甚至無需擔(dān)心生成的XML是什么樣子的。當(dāng)你需要讀回它時
- TextReader r = new StreamReader( "person1.xml" );
- Person person2= (Person)s.Deserialize( r );
- r.Close();
現(xiàn)在看一下列表,沒有太大變化
- 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);
一個稍微復(fù)雜點(diǎn)的情況,現(xiàn)在有一個ArrayList需要序列化
- ArrayList people=new ArrayList();
- people.Add(new Person("abc","123"));
- people.Add(new Person("def","123"));
你需要告訴系統(tǒng)關(guān)于數(shù)組的信息
- XmlSerializer s =
- new XmlSerializer(typeof(ArrayList),
- new Type[] { typeof(Person) });
- s.Serialize(Console.Out, people);
C# XML序列化的具體實(shí)現(xiàn)過程以及所表現(xiàn)的特點(diǎn)就向你介紹到這里,希望對你了解和認(rèn)識C# XML序列化有所幫助。
【編輯推薦】