使用 C# 反序列化 xml 中的重复元素
deserialize repeated element in xml using c#
我收到包含以下内容的回复:
<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
)
我收到包含以下内容的回复:
<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
)