Десериализация XML с метаданными - PullRequest
1 голос
/ 06 января 2012

Я хочу десериализовать этот 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 Ответ

1 голос
/ 06 января 2012

Вам необходимо создать вспомогательный класс для <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;
    }
}
...