ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

XML多态类的对象保存

XML多态类的对象保存

使用

  XmlPerson person123 = new XmlStudent { Name = "李四", Age = 18, StuNumber = "S12345" };XmlPerson person1234 = new XmlTeacher { Name = "李四1", Age = 22, TeachNumber = "S78910" };TestDuoTai testDuoTai = new TestDuoTai();testDuoTai.xmlPeople = new List<XmlPerson>();testDuoTai.xmlPeople.Add(person123);testDuoTai.xmlPeople.Add(person1234);string xmlString = XmlSerializerHelper.SerializeToXml(testDuoTai);TestDuoTai personFromXml = XmlSerializerHelper.DeserializeFromXml<TestDuoTai>(xmlString);

xml字符串

<?xml version="1.0" encoding="utf-16"?>
<TestDuoTai xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xmlPeople><XmlPerson xsi:type="XmlStudent"><Name>李四</Name><Age>18</Age><StuNumber>S12345</StuNumber></XmlPerson><XmlPerson xsi:type="XmlTeacher"><Name>李四1</Name><Age>22</Age><TeachNumber>S78910</TeachNumber></XmlPerson></xmlPeople>
</TestDuoTai>

 

实体类

 [XmlInclude(typeof(XmlStudent))][XmlInclude(typeof(XmlTeacher))][Serializable]public class XmlPerson{public string Name { get; set; }public int Age { get; set; }}[Serializable]public class XmlStudent : XmlPerson{public string StuNumber { get; set; }}[Serializable]public class XmlTeacher : XmlPerson{public string TeachNumber { get; set; }}[Serializable]public class TestDuoTai{ public List<XmlPerson> xmlPeople { get; set; }}

 

返回列表