0

I have a XML document with a node like this.

<channel id="3102" platform = "1" activation="30/11/2010" desactivation="">

And I want to deserialize it using DataContract and Data Member attributes, which are working well with its properties but are not deserializing the attributes.

[DataContract(Namespace="")]
[XmlSerializerFormat]    
public abstract class Channel
{
    #region variables privadas

        [DataContract(Namespace="")]
[XmlSerializerFormat]    
//[KnownType(typeof(AudioChannel))]
//[KnownType(typeof(VideoChannel))]
public abstract class Channel
{
    #region variables privadas

    private DateTime _desactivation;
    private DateTime _activation;
    private int _platform;
    private int _id;
    ....
    #endregion

    #region Propiedades públicas

    [DataMember]
    [XmlAttribute(AttributeName="desactivation")]
    public DateTime Desactivation
    {
        get { return _desactivation; }
        set { _desactivation = value; }
    }

    [DataMember]
    [XmlAttribute(AttributeName="activation")]
    public DateTime Activation
    {
        get { return _activation; }
        set { _activation = value; }
    }

    [DataMember]
    [XmlAttribute(AttributeName="platform")]
    public int Platform
    {
        get { return _platform; }
        set { _platform = value; }
    }
    #endregion

    #region Propiedades públicas

    [DataMember]
    [XmlAttribute(AttributeName="desactivation")]
    public DateTime Desactivation
    {
        get { return _desactivation; }
        set { _desactivation = value; }
    }

    [DataMember]
    [XmlAttribute(AttributeName="activation")]
    public DateTime Activation
    {
        get { return _activation; }
        set { _activation = value; }
    }

    [DataMember]
    [XmlAttribute(AttributeName="platform")]
    public int Platform
    {
        get { return _platform; }
        set { _platform = value; }
    } ...

My properties associated to these attributes are not filled, what I'm doing wrong?

Thanks in advance for any help provided.

Rotten
  • 742
  • 10
  • 24

1 Answers1

2

Repeated question. How can you control .NET DataContract serialization so it uses XML attributes instead of elements? You can't do that with a DataContractSerializer, but you should achieve what you ask for using the XmlSerializer.

Community
  • 1
  • 1
Filip Skakun
  • 31,624
  • 6
  • 74
  • 100
  • I've used it, but can't acchieve my goal, attributes wasn't filled. At last I've used XmlSerializer instead of DataContract. – Rotten Nov 21 '11 at 12:40
  • At last I have to use XMLSerializer which is more flexible for attributes. Thanks for your help. – Rotten Dec 29 '11 at 13:51