HttpWebResponse.GetResponseStream преобразует <вместо <и т. Д. Я использую HttpWebRequest для извлечения данных XML из веб-службы.Веб-API </p>
Мой тип контента: request.ContentType = "application / json";
Проблема заключается в том, что при извлечении текста все внутри конверта, ответа, преобразуется.Итак, <> являются <и> и т. Д.
Как получить данные и сохранить символы меньше / больше, чем для действительного XML?
спасибо!
метод replace преобразует все специальные символы между xml <> envelop, которые я не хочу
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.ContentType = "application/json";
//request.ContentType = "text/xml;charset=utf-8";
request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
request.Method = HttpVerb;
request.Accept = "application/xml";
if (ObjData != null)
{
var Serialized = JsonConvert.SerializeObject(ObjData);
using (StreamWriter sw = new StreamWriter(request.GetRequestStream()))
{
sw.Write(Serialized);
}
}
else
{
request.ContentLength = 0;
}
HttpWebResponse httpWebResponse = request.GetResponse() as HttpWebResponse;
using (StreamReader sr = new StreamReader(httpWebResponse.GetResponseStream()))
{
if (httpWebResponse.StatusCode == HttpStatusCode.Unauthorized || httpWebResponse.StatusCode == HttpStatusCode.InternalServerError || httpWebResponse.StatusCode == HttpStatusCode.NotAcceptable)
{
strResponse = httpWebResponse.StatusDescription;
}
else if (httpWebResponse.StatusCode != HttpStatusCode.OK)
{
strResponse = String.Format("POST failed. Received HTTP {0}", httpWebResponse.StatusCode);
}
else
{
strResponse = sr.ReadToEnd();// this line creating the wrong xml
strResponse = XMLDecode(strResponse);
}
}