日期:2014-05-18  浏览次数:20422 次

截取远程XML的特定字段
http://now.net.cn/domain/domaincheck.php?query=csdn.net
显示的XML如下:
  <?xml version="1.0" encoding="GB2312" ?> 
- <response>
- <result code="2001">
  <msg>csdn.net 已被注册</msg> 
  </result>
  </response>
要求将<msg>和</msg>之间的信息显示出来。

下面这段程序在本地可以用,一旦传到虚拟主机上就不行了 ,如果说是服务商作了限制,为什么同样是这家公司的接口,有人用PHP+AJAX写的就能正常运行,我在两家PHP空间商那测试都可以。
 string strURL = "http://now.net.cn/domain/domaincheck.php?query=csdn.net";
  WebRequest wRequest = WebRequest.Create(strURL);
  wRequest.Timeout = 15000;
  try
  {
  WebResponse wResponse = wRequest.GetResponse();
  Stream responseStream = wResponse.GetResponseStream();
  StreamReader reader = new StreamReader(responseStream, System.Text.Encoding.Default);
  string responseHTML = reader.ReadToEnd();
  int i;
  i = responseHTML.IndexOf("恭喜!");
  if (i > 0)
  {
  Label1.Text = "还未被注册";
  }
  else
  {
  Label1.Text = "很遗憾,已经被注册";
  }
  }
  catch
  {
  Label1.Text = "查询超时,请重新查询。";
  }
  }

有大哥能改进一下吗?要求将<msg>和</msg>之间的信息显示出来。在虚拟主机上能通过。

------解决方案--------------------
SF