以下示例引发了“[One xmlns=''] was not expected.”异常。
public abstract class BaseClass{ }
[XmlRoot("One")]
public class ChildOne : BaseClass {}
[XmlRoot("Two")]
public class ChildTwo : BaseClass { }
class Program
{
private static void Main(string[] args)
{
var ser = new XmlSerializer(typeof (BaseClass), new Type[] {typeof (ChildOne), typeof (ChildTwo)});
var obj1 = ser.Deserialize(new StringReader(@"<?xml version=""1.0""?><One></One>"));
var obj2 = ser.Deserialize(new StringReader(@"<?xml version=""1.0""?><Two></Two>"));
}
}
我需要反序列化XML(不是由我生成的)。根标记可能具有不同的名称,我必须将其映射到不同的类。
PS。我知道有很多类似的问题。我已经研究过它们,但我的问题仍未解决。