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的数据。谢谢指点
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的数据。谢谢指点
lz先整了一个Response.Write(result);后来又整了一个xmlDoc.LoadXml(result);
这就好像把夹起来的肉扔到地上,然后再拾起来吃掉。
获取返回页中的XML?你的url是一个xml文件吗?如果不是xml文件,你需要
Response.ContentType="text/xml"另外,get方法设置req.ContentType = "multipart/form-data";都是没用的 ,