-1

我想在一个类中反序列化以下 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='' 不是预期的。

谢谢你的帮助。

亲切的问候,亲

4

1 回答 1

1

在 XML 周围添加一个<Result>...</Result>元素。如果它们丢失,请预先添加并附加它们。如果存在不同的根元素,则将该[XmlRoot("name")]元素添加到Result类中。

解决 XML 序列化问题的最简单方法是填充一个对象,然后使用它进行序列化XmlSerializer.Serialize()并查看生成的 XML。

于 2012-09-04T12:17:41.707 回答