将 XML 转换为 ASP.NET MVC 模型

Converting XML to ASP.NET MVC model

我对 XML 很陌生。 以下 xml 作为字符串从网络服务

接收
"<settings>   
  <calculator display="1" />
  <details display="1" />
  <charge display="1" />
  <features>
    <feature code="HAZ" description="CARGO" />
    <feature code="IDL" description="DELIVERY" />
    <feature code="LFT" description="TRUCK" />
    <feature code="NFY" description="CARRIER CHARGE" />
  </addons>
</settings>  "

下面是用户配置,其中有一个 属性 列表。

 public class UserConfiguration
 {
     public int calculator { get; set; }

     public int details { get; set; }

     public int charge { get; set; }

     public List<Accessorial> features { get; set; }
 }

 public class Accessorial
 {
     public string code { get; set; }

     public string description { get; set; }
 }

我尝试了以下但值为空;

XmlSerializer deserializer = new XmlSerializer(typeof(UserConfiguration), new XmlRootAttribute("root"));
var objectValue = deserializer.Deserialize(new StringReader(xml));

我还根据 Whosebug 上的一些答案在属性上添加了 XmElement("calculator") 等,但它们也没有用。

使用下面的属性编程合同:

[XmlRoot("settings")]
public class Settings
{
   [XmlElement("calculator")]
   public Calculator calculator { get; set; }

   [XmlArray("features")]
   [XmlArrayItem("feature")]
   public List<Feature> features {get; set; }
}

public class Calculator 
{
    [XmlAttribute]
    public string display { get; set; }
}