C#通过http Get方式获取返回页中的XML(新问题)

孫大聖 2012-07-28 11:32:55


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的数据。谢谢指点
...全文
425 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
SocketUpEx 2012-07-29
  • 打赏
  • 举报
回复
XmlDocument 是不是可以直接加载URL的数据啊


孟子E章 2012-07-29
  • 打赏
  • 举报
回复
1楼的方法就是正确的 ,你返回的代码中要写
获取返回页中的XML?你的url是一个xml文件吗?如果不是xml文件,你需要
Response.ContentType="text/xml"

另外,get方法设置req.ContentType = "multipart/form-data";都是没用的 ,
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
从你目前的代码来看也没生成xml文件啊
[/Quote]

lz先整了一个
Response.Write(result);


后来又整了一个
xmlDoc.LoadXml(result);


这就好像把夹起来的肉扔到地上,然后再拾起来吃掉。
机器人 2012-07-28
  • 打赏
  • 举报
回复
从你目前的代码来看也没生成xml文件啊
huangwenquan123 2012-07-28
  • 打赏
  • 举报
回复
xml.Load(rsp.GetResponseStream());直接从流中获取,不用在读取全部内容在load

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧