我需要输入将动态xml转换为定义的c#对象模型
原文链接:https://www.f2er.com/xml/292323.html我的样本xml如下:
<?xml version="1.0" encoding="utf-8" ?> <Persons> <Person> <Id>10</Id> <FirstName> Dino </FirstName> <LastName> Esposito </LastName> <Addresses> <Address> <AddressType>BillTo</AddressType> <Street1></Street1> <Street2></Street2> <Street3></Street3> <City>Moscow</City> </Address> <Address> <AddressType>ShipTo</AddressType> <Street1></Street1> <Street2></Street2> <Street3></Street3> <City>Moscow</City> </Address> <Address> <AddressType>Contact</AddressType> <Street1></Street1> <Street2></Street2> <Street3></Street3> <City>Moscow</City> </Address> </Addresses> </Person> </Persons>
我希望在运行时将此xml的值转换为C#对象.
我希望定义一个类似于以下的对象:
我的预期类对象C#如下:
public class Person { public int Id { get; set; } public String FirstName { get; set; } public String LastName { get; set; } public IList<Address> Addresses { get; set; } } public class Address { public string AddressType { get; set; } public string Street1 { get; set; } public string Street2 { get; set; } public string Street3 { get; set; } public string City { get; set; } }
我在C#4.0中经历了动态和ExpandoObject,这种方法允许我通过使用键动态获取值.我不知道如何将这些填充到我的数据模型中.
注意:我不想定义这个类模型结构,这会在一段时间内不断变化.我正在寻找一个解决方案,它允许我获取像DynamicObject.Addresses.Address [0] .City这样的值.
请提供您的意见.