【发布时间】:2010-08-16 21:00:59
【问题描述】:
我最近使用 HttpWebResponse 从 HttpWebRequest 返回 xml 数据,我注意到该流向我返回了一个以 null 结尾的字符串。
我认为是因为底层库必须与 C++ 兼容,但我无法找到提供进一步说明的资源。
主要是我想知道是否有一种简单的方法可以禁用此行为,这样我就不必清理传递给我的 xml 阅读器的字符串。
此处编辑是相关代码的示例:
httpResponse.GetResponseStream().Read(serverBuffer, 0, BUFFER_SIZE);
output = processResponse(System.Text.UTF8Encoding.UTF8.GetString(serverBuffer))
processResponse 的样子:
processResponse(string xmlResponse)
{
var Parser = new XmlDocument();
xmlResponse = xmlResponse.Replace('\0',' '); //fix for httpwebrequest null terminating strings
Parser.LoadXml(xmlResponse);
【问题讨论】:
-
能否请您展示您的代码,因为我过去已成功使用过此代码,无需将字符串清理到 XML 解析器中。
-
我现在看到,我的 UTF8 编码返回空字节的空值,因为我的缓冲区比我的读取大
标签: c# httpwebrequest