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

本文关键字:Xml 反序列化 元数据 | 更新日期: 2023-09-27 18:19:34

我想反序列化此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;
        }
}

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

感谢

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

您需要为<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;
    }
}