所以我有一个通过POST方法接受XML的页面.这是一小段代码:
if (Request.ContentType != "text/xml")
throw new HttpException(500, "Unexpected Content Type");
StreamReader stream = new StreamReader(Request.InputStream);
string x = stream.ReadToEnd(); // added to view content of input stream
XDocument xmlInput = XDocument.Load(stream);
Run Code Online (Sandbox Code Playgroud)
我收到错误,所以我将流转换为字符串,只是为了查看是否所有内容都正确发送.当我查看内容时,它看起来像这样:
%3C%3fxml +版本%3D%271.0%27 +编码%3D%27UTF-8%27%3F%3E%0D 0A%
所以我想我需要解码流.唯一的问题是我不知道如何在流上使用HtmlDecode,并仍然将其保存为StreamReader对象.
有没有办法做到这一点?
Tho*_*que 28
显然,客户端将内容作为URL编码的XML发送.所以你需要像这样解码内容:
StreamReader stream = new StreamReader(Request.InputStream);
string x = stream.ReadToEnd();
string xml = HttpUtility.UrlDecode(x);
XDocument xmlInput = XDocument.LoadXml(xml);
Run Code Online (Sandbox Code Playgroud)
无论如何,问题可能在客户端......为什么用这种方式编码XML?
| 归档时间: |
|
| 查看次数: |
29708 次 |
| 最近记录: |