Как десериализовать атрибут XML с помощью DataContract в Windows Phone 7 - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть документ XML с таким узлом.

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

И я хочу десериализовать его, используя атрибуты DataContract и Data Member, которые хорошо работают с его свойствами, но не десериализовывают атрибуты.

[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; }
    } ...

Мои свойства, связанные с этими атрибутами, не заполнены, что я делаю не так?

Заранее благодарим за любую предоставленную помощь.

1 Ответ

1 голос
/ 21 ноября 2011

Повторный вопрос. Как вы можете контролировать сериализацию .NET DataContract, чтобы она использовала атрибуты XML вместо элементов? Вы не можете сделать это с помощью DataContractSerializer, но вы должны добиться того, что вы просите, с помощью XmlSerializer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...