使用元数据进行Xml反序列化

时间:2012-01-06 15:52:44

标签: c# xml deserialization xml-deserialization

我想反序列化这个Xml:

<Content id="1">
  <Element key="Description">Bla  bla bla</Element>
  <Element key="Title">The title</Element>  
</Content>

进入这个类:

public class Content
{
[XmlAttribute(AttributeName = "id")]
        public string Id
        {
            get { return _id; }
            set { _id = value; }
        }
[XmlAttribute(AttributeName = "description")]
        public string Description
        {
            get;
            set;
        }
[XmlAttribute(XmlElement = "title")]
        public string Title
        {
            get;
            set;
        }
}

我的问题是,我不知道如何将正确属性的文本放在类属性中。

由于

1 个答案:

答案 0 :(得分:1)

您需要为<element> XML节点创建一个帮助程序类。

另一种选择是实现IXmlSerializable接口:

public class Content: IXmlSerializable
{
    public void WriteXml (XmlWriter writer)
    {
        // write element nodes
    }

    public void ReadXml (XmlReader reader)
    {
        // read element nodes
    }

    public XmlSchema GetSchema()
    {
        return null;
    }
}