有人可以帮我反序列化并构建模型吗?使用这个xml:
<event>
<argument type="Type1" id="1" name="test1"/>
<argument type="Type2" id="1" extra="5"/>
</event>
活动类
[XmlType("event")]
public class Event
{
[XmlElement("argument")]
public List<Argument> Arguments { get; set; }
}
参数类
public abstract class Argument
{
[XmlAttribute("id")]
public int Id { get; set; }
}
Type1 class
public class Type1 : Argument
{
[XmlAttribute("name")]
public string Name { get; set; }
}
Type2 class
public class Type2 : Argument
{
[XmlAttribute("extra")]
public string Extra { get; set; }
}
内部异常:
{&#34;指定的类型是摘要:name =&#39; Argument&#39 ;, namespace =&#39;&#39;,at。&#34;}
也许我不必使用自定义反序列化器,我只想根据&#34;类型&#34;反序列化对象。属性值。
反序列化我使用的方式:
public static T XmlDeserializeFromString<T>(this string objectData)
{
return (T)XmlDeserializeFromString(objectData, typeof(T));
}
var obj = xml.XmlDeserializeFromString<Event>();