- using System;
- using System.Linq;
- using System.Xml.Serialization;
- using System.IO;
- using System.Collections.Generic;
- namespace XMLSerializationDeserialization
- {
- [XmlRoot("Root")] //Custom the root element
- public class AddressDetails
- {
- //[XmlElement("Number")] //custom the tag name
- [XmlAttribute("HouseNo")] //Have "HouseNo" as XML attribute instead of the normal XMLElement
- public int HouseNo { get; set; }
- // [XmlElement("Street")]
- [XmlText] //Adds StreetName as InnerText to the tag "AddressDetails"
- public string StreetName { get; set; }
- //[XmlElement("CityName")]
- [XmlIgnore] //Ignore it
- public string City { get; set; }
- private string PoAddress { get; set;}
- public AddressDetails()
- {
- StreetName = "DanLing";
- City = "Beijing";
- HouseNo = 3;
- }
- }
- public class PersonalDetails
- {
- public string Name { get; set; }
- public int Age { get; set; }
- public AddressDetails address;
- public PersonalDetails()
- {
- Name = "Qiaolin";
- Age = 34;
- address = new AddressDetails();
- }
- }
- class Program
- {
- static public void Serialize(AddressDetails details)
- {
- XmlSerializer serializer = new XmlSerializer(typeof(AddressDetails));
- using (TextWriter writer = new StreamWriter(@"d:\\AddressXml.xml"))
- {
- serializer.Serialize(writer, details);
- }
- }
- static public void Serialize(PersonalDetails details)
- {
- XmlSerializer serializer = new XmlSerializer(typeof(PersonalDetails));
- using (TextWriter writer = new StreamWriter(@"d:\\PersonInfoXml.xml"))
- {
- serializer.Serialize(writer, details);
- }
- }
- static public void Serialize(List<AddressDetails> details)
- {
- XmlSerializer serializer = new XmlSerializer(typeof(List<AddressDetails>));
- using (TextWriter writer = new StreamWriter(@"d:\\AddressXml.xml"))
- {
- serializer.Serialize(writer, details);
- }
- }
- static void Main(string[] args)
- {
- //AddressDetails details = new AddressDetails();
- PersonalDetails personInfo = new PersonalDetails();
- List<AddressDetails> addrLists=new List<AddressDetails>();
- AddressDetails addList1 = new AddressDetails();
- addList1.HouseNo = 4;
- addList1.StreetName = "Rohini";
- addList1.City = "Delhi";
- AddressDetails addList2 = new AddressDetails();
- addList2.HouseNo = 4;
- addList2.StreetName = "Rohini";
- addList2.City = "Delhi";
- AddressDetails addList3 = new AddressDetails();
- addList3.HouseNo = 4;
- addList3.StreetName = "Rohini";
- addList3.City = "Delhi";
- addrLists.Add(addList1);
- addrLists.Add(addList2);
- addrLists.Add(addList3);
- Serialize(addrLists);
- Serialize(personInfo);
- }
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/1108201513404.html
来源: http://www.codesnippet.cn/detail/1108201513404.html