【发布时间】:2018-12-14 15:12:33
【问题描述】:
最近花了一些时间在这些上,想写一些笔记,希望对你有帮助。
第 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;
}
【问题讨论】:
标签: xml api serialization xsd xmlserializer