Я прочитал различные вопросы, заданные здесь по этому вопросу, и я все еще не ближе к решению моей проблемы.Deserializing XML Response using RestSharp
Я пытаюсь Deserialize этот ответ XML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<SubmissionResult>
<Result>ACCEPTED</Result>
<SubmissionID>
<RefNo>77587-1425386500</RefNo>
<Submitted>9</Submitted>
<ValidNo>7</ValidNo>
<InvalidNo>2</InvalidNo>
<InvalidNo_1>08452782055</InvalidNo_1>
<InvalidNo_2></InvalidNo_1>
<TextvID>77587-1425386500</TextvID>
</SubmissionID>
<Credits>999999</Credits>
</SubmissionResult>
Используя эти классы:
[XmlRoot ("SubmissionResult")]
public class SubmissionResult
{
[XmlElement ("Result")]
public string Result { get; set; }
public SubmissionID SubmissionID { get; set; }
[XmlElement("Credits")]
public int Credits { get; set; }
}
public class SubmissionID
{
[XmlElement("RefNo")]
public int RefNo { get; set; }
[XmlElement("Submitted")]
public int Submitted { get; set; }
[XmlElement("ValidNo")]
public int ValidNo { get; set; }
[XmlElement("TextVID")]
public string TextVID { get; set; }
}
Однако я только когда-либо возвращаться нуль и 0 значения, которые я предполагаю, что это по умолчанию.
Вот код, чтобы получить результаты, и мы надеемся десериализации:
try
{
var request = new RestRequest();
request.RequestFormat = DataFormat.Xml;
request.Resource = APIURL;
request.RootElement = "SubmissionResult";
SubmissionResult r = Execute<SubmissionResult>(request);
}
public static T Execute<T>(RestRequest request) where T : new()
{
var client = new RestClient();
client.BaseUrl = new Uri("https://www.textvertising.co.uk/_admin/api", UriKind.Absolute);
var response = client.Execute<T>(request);
return response.Data;
}
Большое спасибо заранее за любую помощь вы можете предоставить.
CS
TextvID имеет несовместимый корпус в XML и код атрибута.Незначительные и, вероятно, не актуальны, но вы все равно должны это исправить. – Marcel