Недавно я потратил довольно много времени на них и хочу записать некоторые заметки, надеюсь, это поможет.Шаг 1: Сделайте вызов API, обратите внимание, что contentType: «application / xml», вы можете проверить Пример кода ниже.
Шаг 2: Сложная часть - как создать класс «myObject».
Еслиобъект не полностью совпадает с возвращаемым XML, тогда вы всегда получите ошибку десериализации XML и не будете иметь никакого представления.
Проверьте мой ответ ниже на предмет создания класса .cs, который может исправить десериализацию.
try
{
byte[] bHeaderBytes = System.Text.Encoding.UTF8.GetBytes(GetUserPasswordString());
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(cRequestString);
request.Method = WebRequestMethods.Http.Get;
request.PreAuthenticate = true;
request.ContentType = "application/xml";
request.Accept = "application/xml";
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(bHeaderBytes));
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(response.GetResponseStream());
XmlNodeReader xReader = new XmlNodeReader(xmlDoc.DocumentElement);
return (myObject)xSerializer.Deserialize(xReader);
}
catch
{
return null;
}