C# · 12月 27, 2021

c# – StreamReader并读取XML文件

我使用StreamReader从Web服务器得到响应…现在我想解析这个响应(它是一个 XML文档文件)来获取它的值,但每次尝试这样做时,我会收到一个错误:Root元素缺失.

如果我直接读取相同的XML文件,文件格式很好,我可以读取它.

这是流:

WebResponse response = webRequest.GetResponse();Stream responseStream = response.GetResponseStream();StreamReader responseReader = new StreamReader(responseStream);string responseString = responseReader.ReadToEnd();

这就是我如何尝试读取XML文件:

XmlDocument xmlDoc = new XmlDocument();xmlDoc.Load(responseReader);XmlNodeList address = xmlDoc.GetElementsByTagName(“original”);解决方法 你已经调用了ReadToEnd(),因此消耗了所有的数据(一个字符串).这意味着读者没有什么可以给的.只是:不要这样做或者,这样做并使用LoadXml(reaponseString).