2012-04-03 52 views
0

XML我试图反序列化错误反序列化的XML对象 - 同一实体名称

<x> 
    <result result="1" /> 
    <result redirect="http://blahblahblah.com/?data=a" /> 
    <result memo1="foo" /> 
    <result memo2="bar" /> 
      . 
      . 
      . 
</x> 

类我试图反序列化到:

[XmlRoot("x"), XmlType("x")] 
public class EmptyModel 
{ 
    [XmlArray("x")] 
    [XmlArrayItem("result")] 
    public List<ResultModel> result { get; set; } 
} 

[XmlType("result")] 
public class ResultModel 
{ 
    [XmlAttribute] 
    public string redirect { get; set; } 
    [XmlAttribute] 
    public string err_code { get; set; } 
    [XmlAttribute] 
    public string err_detail { get; set; } 
    [XmlAttribute] 
    public string memo1 { get; set; } 
    [XmlAttribute] 
    public string memo2 { get; set; } 
    [XmlAttribute] 
    public string result { get; set; } 
} 

但我不能正确使模型绑定。

var a = xml.ToXmlDeserialize<EmptyModel>(); 

如何制作正确的型号?

回答

1

试试这个

[XmlRoot("x")] 
public class EmptyModel 
{ 
    [XmlElement()] 
    public List<ResultModel> result { get; set; } 
} 
+0

“XmlElement的”属性类型不适用本宣言英寸'property,indexer,field,param,return'声明只能使用。 – Ssemi 2012-04-03 08:35:20

+0

已修复,现在应该可以使用。 – Phil 2012-04-03 09:16:19