c#xml如何反序列化器模型 string xmlstr=“” + "" + "9693" + "93223335" + "1" + "2017/2/22 14:43:20" + "2017/2/22 14:43:20" + ""; [可序列化] [XmlRootAttribute(“SampleModel”)] 公共类抽样模型 { 公共字符串ID{get;set;} 公共字符串参数名称{get;set;} 公共字符串数据类型{get;set;} 公共字符串CREATE_DATE{get;set;} 公共字符串更新_日期{get;set;} } 公共静态对象反序列化(类型、类型、字符串、XML) { 尝试 { 使用(StringReader Sr=新的StringReader(XML)) { XmlSerializer xmldes=新的XmlSerializer(类型); 返回xmldes.反序列化(SR); } } 捕获(例外e) { 返回null; } }

c#xml如何反序列化器模型 string xmlstr=“” + "" + "9693" + "93223335" + "1" + "2017/2/22 14:43:20" + "2017/2/22 14:43:20" + ""; [可序列化] [XmlRootAttribute(“SampleModel”)] 公共类抽样模型 { 公共字符串ID{get;set;} 公共字符串参数名称{get;set;} 公共字符串数据类型{get;set;} 公共字符串CREATE_DATE{get;set;} 公共字符串更新_日期{get;set;} } 公共静态对象反序列化(类型、类型、字符串、XML) { 尝试 { 使用(StringReader Sr=新的StringReader(XML)) { XmlSerializer xmldes=新的XmlSerializer(类型); 返回xmldes.反序列化(SR); } } 捕获(例外e) { 返回null; } },c#,xml,C#,Xml,我想让XML反序列化对象, 这种方法失败了。定义属性时是否要添加属性[XmlElement('FIELD')? 我不知道如何定义类结构。您能帮助我吗?您的XML和对象实际上并不相同。只有名为字段的重复元素,没有具有您为其创建属性的名称的元素 您需要一个镜像XML的对象结构: string xmlstr = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + "<SampleModel>"

我想让XML反序列化对象, 这种方法失败了。定义属性时是否要添加属性[XmlElement('FIELD')?
我不知道如何定义类结构。您能帮助我吗?

您的XML和对象实际上并不相同。只有名为
字段的重复元素,没有具有您为其创建属性的名称的元素

您需要一个镜像XML的对象结构:

string xmlstr = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
              + "<SampleModel>"
              + "<FIELD name=\"ID\">9693</FIELD>"
              + "<FIELD name=\"PARAM_NAME\">93223335</FIELD>"
              + "<FIELD name=\"DATA_TYPE\">1</FIELD>"
              + "<FIELD name=\"CREATE_DATE\">2017/2/22 14:43:20</FIELD>"
              + "<FIELD name=\"UPDATE_DATE\">2017/2/22 14:43:20</FIELD>"                 
              + "</SampleModel>";

[Serializable]
[XmlRootAttribute("SampleModel")]
public class SampleModel
{
    public string ID { get; set; }

    public string PARAM_NAME { get; set; }

    public string DATA_TYPE { get; set; }

    public string CREATE_DATE { get; set; }

    public string UPDATE_DATE { get; set; }
}

public static object Deserialize (Type, type, string, XML)
{
    try
    {
        using (StringReader Sr = new StringReader(XML))
        {
            XmlSerializer xmldes = new XmlSerializer (type);
            return xmldes.Deserialize(SR);
        }
    }
    catch (Exception e)
    {
       return null;
    }
 }
公共类样本模型
{
[XmlElement(“字段”)]
公共列表字段{get;set;}
}
公共类字段
{
[XmlAttribute(“名称”)]
公共字符串名称{get;set;}
[XmlText]
公共字符串值{get;set;}
}
请-->
public class SampleModel
{
    [XmlElement("FIELD")]
    public List<Field> Fields { get; set; }
}

public class Field
{
    [XmlAttribute("name")]
    public string Name { get; set; }

    [XmlText]
    public string Value { get; set; }
}