string uri="";
            HttpWebResponse rsp = null;
            HttpWebRequest req = null;
            req = (HttpWebRequest)WebRequest.Create(new Uri(uri));
            req.ContentType = "multipart/form-data";
            req.Accept = "*/*";
            req.Timeout = 30000;//30秒连接不成功就中断 
            req.Method = "GET";
            rsp = (HttpWebResponse)req.GetResponse();
            StreamReader sr = new StreamReader(rsp.GetResponseStream(),Encoding.GetEncoding("utf-8"));
            result = sr.ReadToEnd();
            sr.Close();
            Response.Write(result);
           
         XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(result);        XmlNode node = xmlDoc.SelectSingleNode("//GoldPrice");
        Response.Write(node.InnerXml);
这个方法可以得到我想要的值。
但是,老大原话,“不要取到数据后,写成xml文件,这样太慢,直接转成xmldocument,然后获取想要的数据”。
我的理解是:直接从rsp.GetResponseStream()响应流中去取出数据。
假设xml如下、
 <?xml version="1.0" ?> 
 <response>
  <SystemStatus>1</SystemStatus> 
 </response>如何取出SystemStatus的数据。谢谢指点

解决方案 »

  1.   

     xml.Load(rsp.GetResponseStream());直接从流中获取,不用在读取全部内容在load
      

  2.   

    从你目前的代码来看也没生成xml文件啊
      

  3.   


    lz先整了一个Response.Write(result);后来又整了一个xmlDoc.LoadXml(result);
    这就好像把夹起来的肉扔到地上,然后再拾起来吃掉。
      

  4.   

    1楼的方法就是正确的 ,你返回的代码中要写
    获取返回页中的XML?你的url是一个xml文件吗?如果不是xml文件,你需要
    Response.ContentType="text/xml"另外,get方法设置req.ContentType = "multipart/form-data";都是没用的 ,
      

  5.   

    XmlDocument 是不是可以直接加载URL的数据啊