【问题标题】:right class structure of xml deserializationxml反序列化的正确类结构
【发布时间】:2015-03-24 15:10:16
【问题描述】:

我需要将 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>

asp.net c#中的类:

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<string> Items { get; set; }
}

工作正常。现在我想将参数 'available' 添加到 'item' 元素中,例如:

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

我应该如何改变我的班级?请帮忙。谢谢。

【问题讨论】:

    标签: c# asp.net xml serialization


    【解决方案1】:

    我想通了。以下是解决方案:

    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; }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      • 2011-05-28
      • 2010-09-21
      相关资源
      最近更新 更多