C# 反序列化XML数组

C# 反序列化XML数组,c#,xml-serialization,xml-deserialization,C#,Xml Serialization,Xml Deserialization,我使用单个元素进行反序列化。但是当我有一个xml元素数组时,我的代码就不起作用了 下面是我的代码 XML: 下面是反序列化的代码: CarDetails[] details; XmlSerializer serializer = new XmlSerializer(typeof(CarDetails[])); using (TextReader reader = new StringReader(output)) {

我使用单个元素进行反序列化。但是当我有一个xml元素数组时,我的代码就不起作用了

下面是我的代码

XML:

下面是反序列化的代码:

CarDetails[] details;
XmlSerializer serializer = new XmlSerializer(typeof(CarDetails[]));
            using (TextReader reader = new StringReader(output))
            {
                details= (CarDetails[])serializer.Deserialize(reader);
            }

请帮助我如何反序列化XML数组首先,您的XML无效

<color>blue<color>
蓝色
你忘了在这里关上颜色。 其次,最好不要自己动手。最好使用一些工具来实现它。喜欢您可以找到类似的JSON。在我的例子中,它给出了这个结果(看看数据类):

[XmlRoot(ElementName=“body”)]
公共阶级团体{
[xmlement(ElementName=“color”)]
公共字符串颜色{get;set;}
[xmlement(ElementName=“type”)]
公共字符串类型{get;set;}
}
[XmlRoot(ElementName=“details”)]
公开课详情{
[xmlement(ElementName=“year”)]
公共字符串年份{get;set;}
[xmlement(ElementName=“make”)]
公共字符串Make{get;set;}
}
[XmlRoot(ElementName=“cars”)]
公车{
[xmlement(ElementName=“body”)]
公共机构主体{get;set;}
[xmlement(ElementName=“details”)]
公共详细信息{get;set;}
}
[XmlRoot(ElementName=“data”)]
公共类数据{
[xmlement(ElementName=“cars”)]
公共列表车辆{get;set;}
}

您遇到了什么错误?哇,太酷了!,非常感谢XML2C链接!
CarDetails[] details;
XmlSerializer serializer = new XmlSerializer(typeof(CarDetails[]));
            using (TextReader reader = new StringReader(output))
            {
                details= (CarDetails[])serializer.Deserialize(reader);
            }
<color>blue<color>
[XmlRoot(ElementName="body")]
public class Body {
    [XmlElement(ElementName="color")]
    public string Color { get; set; }
    [XmlElement(ElementName="type")]
    public string Type { get; set; }
}

[XmlRoot(ElementName="details")]
public class Details {
    [XmlElement(ElementName="year")]
    public string Year { get; set; }
    [XmlElement(ElementName="make")]
    public string Make { get; set; }
}

[XmlRoot(ElementName="cars")]
public class Cars {
    [XmlElement(ElementName="body")]
    public Body Body { get; set; }
    [XmlElement(ElementName="details")]
    public Details Details { get; set; }
}

[XmlRoot(ElementName="data")]
public class Data {
    [XmlElement(ElementName="cars")]
    public List<Cars> Cars { get; set; }
}