我需要在动态XML转换为所定义的C#对象模型输入从动态XML转换为C#对象
我的示例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; }
}
我通过动态和ExpandoObject 4.0 C#去了,这种方式让我来动态获取值通过使用键。我不知道如何将这些填充到我的数据模型中。
注意:我不想定义这个类的模型结构,这不断地改变一段时间。我正在寻找一个解决方案,它允许我获得像DynamicObject.Addresses.Address [0] .City这样的值。
请给予您的意见。
什么是“动态XML”?你是否尝试过LinqToXml? – mipe34
我不想保持xml内容的选项卡,这不断变化。我的数据模型也应该在运行时根据输入xml动态地改变。 – KRP
我已经尝试过LINQ到Xml,我无法使用数组元素。例如:地址 – KRP