XML与Object序列化
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Xml.Serialization; using System.IO; using System.Collections; namespace Serialization { public partial class XmlSerializerDemo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //this.LoadData(); this.MyArrayList(); } } /// <summary> /// 加载数据 /// </summary> private void LoadData() { List<Person> people = new List<Person>(); people.Add(new Person("0001", "张三")); people.Add(new Person("0002", "李四")); XmlSerializer s = new XmlSerializer(typeof(List<Person>)); TextWriter w = new StreamWriter(Server.MapPath("~/person.xml")); s.Serialize(w, people); w.Close(); //XmlSerializer s = new XmlSerializer(typeof(Person)); //TextWriter w = new StreamWriter(Server.MapPath("~/person1.xml")); //s.Serialize(w, p); //w.Close(); TextReader r = new StreamReader(Server.MapPath("~/person.xml")); List<Person> listPerson = s.Deserialize(r) as List<Person>; r.Close(); Response.Write(listPerson[1].Name); } /// <summary> /// 情况二 /// </summary> public void MyArrayList() { ArrayList people = new ArrayList(); people.Add(new Person("001", "王雪")); people.Add(new Person("002", "茼桐")); XmlSerializer s = new XmlSerializer(typeof(ArrayList), new Type[] { typeof(Person) }); TextWriter w = new StreamWriter(Server.MapPath("~/p.xml")); s.Serialize(w, people); w.Close(); TextReader r = new StreamReader(Server.MapPath("~/p.xml")); ArrayList array = s.Deserialize(r) as ArrayList; foreach (Person al in array) { Response.Write("序号为:" + al.Id + " "); Response.Write("姓名为:"+al.Name+"<br/>"); } } } public class Person { public Person() { } public Person(string id, string name) { Id = id; Name = name; } public string Id { get; set; } public string Name { get; set; } } }