Как десериализовать атрибут с именем «значение» с помощью RestSharp, не нарушая стиль кода?

Я использую RestSharp для десериализации файла XML, где некоторые узлы выглядят так:

<clouds value="68" name="broken clouds"/>

Элементы с атрибутом под названием «значение» не будут десериализованы.

Мои занятия:

public class CloudsData
{        
    public string value { get; set; }

    public string Name { get; set; } 

}

Переименование «значения» в «значение» помогает, но нарушает стиль кода. Есть ли другие способы решить эту проблему?


person georgeci    schedule 01.02.2014    source источник
comment
Попробуйте украсить свое свойство с помощью [XmlAttribute], например значение с [XmlAttribute (значение)]   -  person Hector Sanchez    schedule 01.02.2014


Ответы (1)


Отметьте свой ресурс с помощью SerializeAsAttribute:

public class CloudsData
{        
    [SerializeAs(Name = "value")]
    public string value { get; set; }

    [SerializeAs(Name = "name")]
    public string Name { get; set; } 
}
person MarcinJuraszek    schedule 01.02.2014
comment
Я думаю, что он хочет обратного, он сказал, что я использую RestSharp для десериализации XML-файла, где некоторые узлы выглядят так: - person Hector Sanchez; 01.02.2014
comment
Имя атрибута немного неудачное, но я думаю, что оно используется как для сериализации, так и для десериализации :) - person MarcinJuraszek; 01.02.2014
comment
@MarcinJuraszek Основываясь на моем тестировании, похоже, что в этом конкретном случае вам нужен DeserializeAsAttribute. github.com/restsharp/RestSharp/blob/master/RestSharp/ - person John Zumbrum; 22.01.2016