Я пытаюсь использовать RestSharp для использования стороннего веб-сервиса REST, и у меня возникают проблемы с тем, чтобы десериализация XML по умолчанию работала с XML, который я возвращаю.
XML находится в форме -
<root>
<someURL href="192.168.1.1" />
<anotherURL href="192.168.1.2" />
<thirdURL href="192.168.1.3" />
</root>
Мой request.RootElement имеет значение «root», и я изначально пытался создать следующий объект для десериализации RestSharp в:
public class URLInfo
{
public string someURL { get; set; }
public string anotherURL { get; set; }
public string thirdURL { get; set; }
}
Я понял, что это не сработает из-за атрибутов, поэтому я подумал на основе приведенного здесь примера (https://github.com/restsharp/RestSharp/wiki/Deserialization) — хотя здесь говорится о списке элементов, я попытался создать следующее:
public class URLInfo
{
public HrefAttribute someURL { get; set; }
public HrefAttribute anotherURL { get; set; }
public HrefAttribute thirdURL { get; set; }
}
public class HrefAttribute
{
public string href { get; set; }
}
Но данные моего объекта ответа по-прежнему равны нулю. Может ли кто-нибудь указать, что я здесь делаю неправильно, или даже невозможно использовать XmlDeserializer по умолчанию, когда задействованы атрибуты? - Это может показаться странным, поскольку в их собственном примере речь идет об атрибутах, хотя и в виде списка.
Спасибо.