我想在一个类中使用特定属性反序列化以下xml:
<test1>
<field1>0</field1>
<field2>1</field2>
<field3>2</field3>
</test1>
<test2>
<field4>0</field4>
<field5>1</field5>
<field6>2</field6>
</test2>
<test3>
<field7>0</field7>
<field8>1</field8>
<field9>2</field9>
</test3>
我写的课程如下:
[Serializable]
public class Result
{
[XmlElement("test1")]
public Test1 T1{ get; set; }
[XmlElement("test2")]
public Test2 T2 { get; set; }
[XmlElement("test3")]
public Test3 T3 { get; set; }
}
[Serializable]
public class Test1
{
[XmlElement("Field1")]
public Test1 Field1{ get; set; }
[XmlElement("Field2")]
public Test2 Field2{ get; set; }
[XmlElement("Field3")]
public Test3 Field3 { get; set; }
}
....
不幸的是,我在反序列化时遇到以下错误:
输入xmlns =''不是预期的。
感谢您的帮助。
亲切的问候,亲
答案 0 :(得分:1)
在XML周围添加<Result>...</Result>
元素。如果它们丢失了,请添加并附加它们。如果存在不同的根元素,请将[XmlRoot("name")]
元素添加到Result
类。
解决XML序列化问题的最简单方法是填充对象,然后使用XmlSerializer.Serialize()
对其进行序列化,并查看生成的XML。