XML序列化-c#类的复杂类型

XML序列化-c#类的复杂类型,c#,xml,serialization,C#,Xml,Serialization,我将XML文件序列化为对象。我们不要讨论如何序列化它,因为这不是问题所在。问题是如何为复杂类型元素构建类。对于普通的XML元素,我会按照以下步骤操作(当然是使用System.XML.Serialization) 一切都很好。但是对于一个复杂类型,我不知道如何在类中表示它,我尝试用这样的数组来表示它 public class Item { [XmlArray("thumbnail")] [XmlArrayItem("url")] public string url { g

我将XML文件序列化为对象。我们不要讨论如何序列化它,因为这不是问题所在。问题是如何为复杂类型元素构建类。对于普通的XML元素,我会按照以下步骤操作(当然是使用System.XML.Serialization)

一切都很好。但是对于一个复杂类型,我不知道如何在类中表示它,我尝试用这样的数组来表示它

public class Item
{
    [XmlArray("thumbnail")]

    [XmlArrayItem("url")]
    public string url { get; set; }

    [XmlArrayItem("width")]
    public string width { get; set; }

    [XmlArrayItem("height")]
    public string height { get; set; }

    public string[] thumbnail { get; set; }
 }
但这不起作用


您知道如何在C#类中表示XML复杂元素吗?

您应该有一个Item类和一个缩略图类,更像这样:

public class item {
    [XmlElement("thumbnail")]
    public thumbnail thumbnail {get;set;}
}

public class thumbnail
{
    [XmlElement("url")]
    public string url { get; set; }

    [XmlElement("width")]
    public string width { get; set; }

    [XmlElement("height")]
    public string height { get; set; }
 }

您可以展示示例XML文件吗?向我们展示模式,我们可以提供帮助。然而.NET framework/VS SDK附带了一个命令行工具
xsd.exe
,它可以获取一个模式文件
schema.xsd
,并从中生成C#(或VB)类,因此您可以简单地使用该工具生成类,或者至少从一个示例开始:感谢您的回复。我编辑了这篇文章以包含XML文件。我知道xsd.exe,我可以使用它来实现这一目的,但因为我有一个以标记方式运行的项目,所以我需要以同样的方式运行它。谢谢
public class item {
    [XmlElement("thumbnail")]
    public thumbnail thumbnail {get;set;}
}

public class thumbnail
{
    [XmlElement("url")]
    public string url { get; set; }

    [XmlElement("width")]
    public string width { get; set; }

    [XmlElement("height")]
    public string height { get; set; }
 }