【发布时间】:2013-10-12 19:30:50
【问题描述】:
我正在(使用 HttpWebRequest 和 HttpWebResponse)连接到不断推送 XML 数据的服务器。我需要的是读取数据并将它们存储到在线数据集中。 目前这就是我所做的:
HttpWebRequest httpRequest;
string url = "something";
System.Data.DataSet dataSet = new System.Data.DataSet();
httpRequest = (HttpWebRequest)WebRequest.Create(url);
httpRequest.Credentials = new NetworkCredential("username", "pass");
ServicePointManager.ServerCertificateValidationCallback = ((sender1, certificate, chain, sslPolicyErrors) => true);
byte[] buf = new byte[1024];
HttpWebResponse response;
int count = -1;
string read = string.Empty;
response = (HttpWebResponse)httpRequest.GetResponse();
do
{
count = response.GetResponseStream().Read(buf, 0, buf.Length);
read += Encoding.UTF8.GetString(buf, 0, count);
dataSet.ReadXml(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(read)));
} while (response.GetResponseStream().CanRead && count != 0);
但是由于在每个循环中都会收到一部分 xml 数据,因此 ReadXml 函数会导致异常。 我该怎么做才能解决这个问题?
【问题讨论】:
标签: c# xml httpwebrequest