我有一个来自外部源的xml文档,因此我无法更改结构。我需要将它序列化为C#对象: -
<vehicles>
<Car>
<Vauxhall>
<Driver>
<Name>John</Name>
</Driver>
</Car>
<Car>
<Ford>
<Driver>
<Name>Jack</Name>
</Driver>
</Ford>
</Car>
</vehicles>
任何人都可以为上述简单的xml文档提供C#反序列化类的建议吗?
答案 0 :(得分:0)
Public Class Wheels
{
<XmlAttribute()>
public string CarMake;
//If you want to have a value in your "Wheels"
<XmlText()>
public string Value;
}
将CarMake
设置为Vauxhall,你应该得到:
<Vehicle>
<Car CarMake="Vauxhall"\>
<Vehicle>
如果您将Value
的{{1}}设置为例如Wheels
,您将获得:
Astra
修改强>
在看到你想要整体结构之后你会有这样的事情:
<Vehicles>
<Car CarMake="Vauxhall">Astra<Car/>
<Vehicles>
答案 1 :(得分:0)
你应该能够创建一个通用的Car类,然后为每个特定的make制作那个类 - 很糟糕,但是我不知道如果你不能改变xml,你还能怎么做呢
public class Car
{
private Driver _driver;
public Driver Driver
{
get
{
return _driver;
}
set
{
_driver = value;
}
}
}
public class Driver
{
private string _name;
public string Name
{
get
{
return _name;
}
set
{
_name = value;
}
}
}
public class Vauxhall : Car
{
}
public class Ford : Car
{
}