0

我正在使用返回 xml 的 Web 服务,我想将其读入字符串。我正在使用 StreamReader 类的 ReadToEnd 方法,但此时由于大量 xml 数据而发生 OutOfMemory 异常。有什么办法可以得到这个。我的代码在下面

        Stream dataStream;
        WebResponse response;
        string responseFromServer = string.Empty;
        string url = myurl;

        WebRequest request = WebRequest.Create(url);

        ASCIIEncoding encoding = new ASCIIEncoding();

        byte[] data = encoding.GetBytes(postData.ToString());

        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = data.Length;

        dataStream = request.GetRequestStream();
        dataStream.Write(data, 0, data.Length);
        dataStream.Close();
        response = request.GetResponse();

       using (Stream stream = response.GetResponseStream())
        {
            using (StreamReader reader = new StreamReader(stream))
            {
                try
                {
                    responseFromServer = reader.ReadToEnd();
                }
                catch (Exception ex)
                {
                  throw ex;         
                }             
            }
        }
4

1 回答 1

1

有一个负载重载需要一个TextReader. StreamReader派生自TextReader,因此您应该能够编写doc.Load(reader).

于 2013-12-09T19:19:19.330 回答