问题描述
<carList>
<numberOfRecords>237</numberOfRecords>
<year>1982</year>
<year>1983</year>
<year>1978</year>
<year>1955</year>
<year>1998</year>
</carList>
这是更大的 xml 文档的一部分,我可以对其余部分进行消毒,但这部分我不能。我其余的消毒物品没问题。 这是我的模型:
public class Response
{
[XmlArray( "carList")]
[XmlArrayItem("year")]
//[XmlElement("carList")]
public CarList? CarList { get; set; }
}
public class CarList
{
[XmlElement("numberOfRecords")]
public int? NumberOfRecords { get; set; }
[XmlElement("year")]
public List<string>? Year { get; set; }
}
我的解串器:
XmlDeserializer xmldes = new XmlDeserializer();
var deserializedResponse = xmldes.Deserialize<Response>(response);
解决方法
您只有一个 carList
,所以应该是:
[XmlElement("carList")]
public CarList? CarList { get; set; }
假设这是一个子节点,而不是根元素(在这种情况下:[XmlRoot("carList")]
在 CarList
本身上,并且完全丢失 Response
)