javascript – 从远程网站解析xml数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 从远程网站解析xml数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2747字,纯文字阅读大概需要4分钟。
内容图文
我想解析来自远程网站http://services.faa.gov/airport/status/IAD?format=xml的xml数据……但我无法解析xml数据而我只是收到错误.但是我能够从同一个远程网站http://services.faa.gov/airport/status/IAD?format=json解析JSON数据.我用来解析xml数据的代码是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Aviation</title>
<script type="text/javascript" src="Scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
var result;
function xmlparser() {
$.ajax({
type: "GET",
url: "http://services.faa.gov/airport/status/IAD?format=xml",
dataType: "xml",
success: function (xml) {
result = xml.city;
document.myform.result1.value = result;
},
error: function (xml) {
alert(xml.status + ' ' + xml.statusText);
}
});
}
</script>
</head>
<body>
<p id="details"></p>
<form name="myform">
<input type="button" name="clickme" value="Click here to show the city name" onclick=xmlparser() />
<input type="text" name="result1" readonly="true"/>
</form>
</body>
</html>
因为我打印了错误信息,所以我只在警告框中收到错误’o Error’.请帮忙解析远程网站的xml数据.
注意:我也有’城市’而不是’城市’,但它不起作用……
提前致谢…
解决方法:
我不相信这会起作用,因为服务仍在返回xml. jsonp期望将n个对象文字作为参数传递给回调.我相信如果你在本地运行,你会发现你的成功没有数据可供消费.试试这个
$.ajax({
type: "GET",
url: "http://services.faa.gov/airport/status/IAD?format=json",
dataType: "jsonp",
success: function (data) {
document.myform.result1.value = data.city;
},
error: function (jqXHR, textStatus, errorThrown) {
alert(errorThrown);
}
});
下面是使用asp.net mvc 3创建代理的示例.我刚刚创建了一个动作,它返回一个映射到字符串的ContentResult,但我将内容类型定义为text / xml.这只是对服务进行webrequest并将流读入字符串以在响应中发回.
[HttpGet]
public ContentResult XmlExample()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://services.faa.gov/airport/status/IAD?format=xml");
string xml = null;
using (WebResponse response = request.GetResponse())
{
using (var xmlStream = new StreamReader(response.GetResponseStream()))
{
xml = xmlStream.ReadToEnd();
}
}
return Content(xml, "text/xml");
}
您的xmlParser函数将如下所示:
<script type="text/javascript">
var result;
function xmlparser() {
$.ajax({
type: "GET",
url: "XmlExample",
dataType: "xml",
success: function (xml) {
result = $(xml).find("City").text();
document.myform.result1.value = result;
},
error: function (xml) {
alert(xml.status + ' ' + xml.statusText);
}
});
}
</script>
jQuery ajax在内部使用$.parseXML转换数据,这消除了我们甚至在成功块中调用它的要求.此时,您有一个jQuery对象,您可以使用它的默认DOM函数来查找City Node.
确保根据您的控制器将XmlExample替换为它映射到的URL.
内容总结
以上是互联网集市为您收集整理的javascript – 从远程网站解析xml数据全部内容,希望文章能够帮你解决javascript – 从远程网站解析xml数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。