将 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; }
}
我对 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; }
}