如何使用ASP.Net发送HTTP请求并且获取返回的XML 20

要求发送一条HTTP请求。然后对方会返回一个XML内容如何发送请求,并获取XML节点的值呢?是网页形式的。不是应用程序。... 要求发送一条HTTP请求。 然后对方会返回一个XML内容 如何发送请求,并获取XML节点的值呢?
是网页形式的。 不是应用程序。
展开
 我来答
陌上的那颗新桑
2010-02-24 · TA获得超过406个赞
知道小有建树答主
回答量:465
采纳率:100%
帮助的人:370万
展开全部
你说的是在 客户端里浮环实验是在服务端里?

客户端的话,上面有人说了,是 AJAX ,也贴出了代码。。。

虽然兼容性不高,但可以解决你的问题。
如果是服务端的,你可以使用下面的方法获取对方返回的 XML ,然后再使用 xmldocument 等来处理 xml

/// <summary>
/// 获取发出请求,并获取网页源代码
/// </summary>
/// <param name="url"></param>
/// <param name="encoding">System.Text.Encoding</param>
/// <returns></returns>
public static string GetWebPage(string url, Encoding encoding)
{
HttpWebRequest request = null;
HttpWebResponse response = null;
StreamReader reader = null;
try
{
request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = HttpContext.Current.Request.Url.Host.ToString();
request.Timeout = 20000;
request.AllowAutoRedirect = false;
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK && response.ContentLength < 1024 * 1024)
{
reader = new StreamReader(response.GetResponseStream(), encoding);
string html = reader.ReadToEnd();
return html;
}
}
catch { }
finally
{
if (response != null) { response.Close(); response = null; }
if (reader != null) { reader.Close(); }
if (request != null) { request = null; }
}
return string.Empty;
}
傅哥爱分享
2010-02-22 · 超过13用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:28.4万
展开全部
用JQuery
<script type="text/jscript">
$(document).ready(function() {

$.ajax({
type: "POST",
url: "http://sellonline.canadapost.ca:30000",
data: $("#XMLRequest").val(),
error: function(){
alert('Error');
},
success: function(data) { //以下部分是解析XML

var statusCode="";
$(data).find('ratesAndServicesResponse ').each(function(){
statusCode += $(this).children("statusCode").text();
alert(statusCode);
});
var name="";
$(data).find('product ').each(function(){
name += $(this).children("rate").text();
name += '<br>';
$('#jieguo').html(name);
});
}//
});
});

</script>

不过还是建议你现研究下xmlhttprequest 核心的东西不懂的话 用JQuery比较类, 目前jquery已出到1.4 用起来很方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hr_shenwei
2010-02-21 · TA获得超过178个赞
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:266万
展开全部
前台的话用
<SCRIPT language="JavaScript">
// Client invoke WebService use HTTP POST request and response
function GetHelloWorld_HTTPPOST(i)
{
var URL = "URL";
var Params = "i=" + i;// Set postback parameters
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("POST",URL, false);
xmlhttp.SetRequestHeader ("Content-Type","application/x-www-form-urlencoded");
xmlhttp.SetRequestHeader ("Content-Length",Params.length);
xmlhttp.send(Params);
var x = xmlhttp.responseXML;
alert(x.childNodes[1].text);
//那么如何知道是否调用成功呢,状态为200说明调用成功,500则说明出错
alert(xmlhttp.Status);
alert(xmlhttp.StatusText);
}
</SCRIPT>

后台的话,XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load("url");

很简单
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sq_zhuyi
2010-02-21 · TA获得超过680个赞
知道小有建树答主
回答量:1127
采纳率:0%
帮助的人:1005万
展开全部
string s = new System.Net.WebClient().DownloadString(uri);
获取节点用正则
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龍龍灬小豬
2010-02-21 · TA获得超过246个赞
知道小有建树答主
回答量:370
采纳率:0%
帮助的人:276万
展开全部
用JQuery吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式