我使用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).