1

如何将这样的 XML 反序列化为对象:

<Root>
   <Element Attr="AttrValue1">BodyValue1</Element>
   <Element Attr="AttrValue2">BodyValue2</Element>
   <Element Attr="AttrValue3">BodyValue3</Element>
</Root>

我需要具有适当属性的确切对象结构。

我试过了:

[XmlRoot("Root")]
public class EventFieldsRoot
{
    [XmlElement("Element")]
    public List<Element> Elements{ get; set; }
}

public class Element
{
    [XmlAttribute]
    public string Attr { get; set; }

    [XmlElement("")]
    public string Body { get; set; }
}

该属性反序列化良好,但正文为空。我怎样才能反序列化身体?

4

1 回答 1

1

简单地

public class Element
{
    [XmlAttribute]
    public string Attr { get; set; }

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

XmlText 属性完美地解决了。

于 2013-08-23T06:53:14.940 回答