Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HttpWebResponse.GetResponseStream转换&;书信电报;而不是<;等_C#_Asp.net_Xml_Asp.net Web Api - Fatal编程技术网

C# HttpWebResponse.GetResponseStream转换&;书信电报;而不是<;等

C# HttpWebResponse.GetResponseStream转换&;书信电报;而不是<;等,c#,asp.net,xml,asp.net-web-api,C#,Asp.net,Xml,Asp.net Web Api,HttpWebResponse.GetResponseStream转换

HttpWebResponse.GetResponseStream转换<而不是<等。 我使用HttpWebRequest从web服务检索XML数据。Web API

我的内容类型是: request.ContentType=“application/json”

问题是,当我检索文本时,信封内的所有内容,即响应,都被转换。<和>,等等也是如此

如何检索数据并保留有效XML的小于/大于符号

谢谢

replace方法转换xml<>信封之间我不想要的所有特殊字符

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);
    }
}

这3行代码解决了我的问题:

strResponse=sr.ReadToEnd();//在这里,使用<等转换<图表会产生问题

XmlDocument XmlDocument=新的XmlDocument();//这三行解决了xml的问题

LoadXml(strResponse)


strResponse=xmlDocument.InnerText

还有,等等。
我不明白这是什么意思。它正在将