C# xml反序列化的右类结构

C# xml反序列化的右类结构,c#,asp.net,xml,serialization,C#,Asp.net,Xml,Serialization,我需要将xml反序列化到C#类的帮助。我有以下xml结构: DataResponse> <Data> <CFgroups> <CFgroup id="PRO" name="pro"> <CFgroup id="T692" name="T692"> <item>T692-002</item> <item>T692-003</

我需要将xml反序列化到C#类的帮助。我有以下xml结构:

DataResponse>
  <Data>
    <CFgroups>
      <CFgroup id="PRO" name="pro">
        <CFgroup id="T692" name="T692">
          <item>T692-002</item>
          <item>T692-003</item>
          <item>T692-004</item>
        </CFgroup>
        <CFgroup id="T693" name="T693">
          <item>T693-001</item>
          <item>T693-003</item>
          <item>T693-004</item>
        </CFgroup>
      <CFgroup id="DESIGN" name="design">
        <CFgroup id="UN101" name="UN101">
          <item>UN101-01</item>
          <item>UN101-02</item>
          <item>UN101-03</item>
        </CFgroup>
        <CFgroup id="UN111" name="UN111">
          <item>UN111-03</item>
        </CFgroup>
      </CFgroup>
    </CFgroups>
  </Data>
</DataResponse>
DataResponse>
T692-002
T692-003
T692-004
T693-001
T693-003
T693-004
UN101-01
UN101-02
UN101-03
UN111-03
和asp.net c#中的类:

公共类CFgroup
{
[XmlAttribute(“id”)]
公共字符串Id{get;set;}
[XmlAttribute(“名称”)]
公共字符串名称{get;set;}
[XmlElement(“CFgroup”)]
公共列表组{get;set;}
[XmlElement(“项目”)]
公共列表项{get;set;}
}
很好。现在,我想向“item”元素添加参数“available”,如:

<item available="10">T692-002</item>
<item available="13">T692-003</item>
<item available="17>T692-004</item>
T692-002
T692-003

我明白了。以下是解决方案:

public class CFgroup
{
    [XmlAttribute("id")]
    public string Id { get; set; }
    [XmlAttribute("name")]
    public string Name { get; set; }
    [XmlElement("CFgroup")]
    public List<CFgroup> Groups { get; set; }
    [XmlElement("item")]
    public List<Item> Items { get; set; }
}

public class Item
{
    [XmlAttribute("available")]
    public string Available { get; set; }
    [XmlText]
    public string Value { get; set; }
}
公共类CFgroup
{
[XmlAttribute(“id”)]
公共字符串Id{get;set;}
[XmlAttribute(“名称”)]
公共字符串名称{get;set;}
[XmlElement(“CFgroup”)]
公共列表组{get;set;}
[XmlElement(“项目”)]
公共列表项{get;set;}
}
公共类项目
{
[XmlAttribute(“可用”)]
可用的公共字符串{get;set;}
[XmlText]
公共字符串值{get;set;}
}
public class CFgroup
{
    [XmlAttribute("id")]
    public string Id { get; set; }
    [XmlAttribute("name")]
    public string Name { get; set; }
    [XmlElement("CFgroup")]
    public List<CFgroup> Groups { get; set; }
    [XmlElement("item")]
    public List<Item> Items { get; set; }
}

public class Item
{
    [XmlAttribute("available")]
    public string Available { get; set; }
    [XmlText]
    public string Value { get; set; }
}