首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

请教jquery怎么获取远程xml数据

2012-03-09 
请问jquery如何获取远程xml数据?我想利用jquery获取远程xml数据,这个:http://www.google.com/ig/api?hlzh

请问jquery如何获取远程xml数据?
我想利用jquery获取远程xml数据,这个:http://www.google.com/ig/api?hl=zh-cn&weather=Beijing,然后将数据过滤出自己想要的。
使用了$.ajax、$.get、$.post等方法,都实现不了。
请问有什么方法可以获取该数据啊?

[解决办法]
http://www.itwis.com/html/programme/javascript/20091029/6735.html
这个地址提供的是windows中执行的吧,不能跨平台的吧。
我是这样用的。
我是用servlet来实现的。是这样的。
String urls = request.getParameter("url");
URL url = new URL(urls);

URLConnection con = url.openConnection();
con.connect();
java.io.InputStream is = con.getInputStream();
java.io.InputStreamReader isr = new java.io.InputStreamReader(is,"utf-8");

java.io.BufferedReader br = new java.io.BufferedReader(isr);
String str = null;//读取每一行的字符串
StringBuffer weatherStr = new StringBuffer("");//天气预报部分的字符串
int begin = 0;//开始截取的字符串的行数
int line = 0;//读取字符串的行数
int divcount = 0;//div匹配的对数
while((str = br.readLine()) != null){
if(str.indexOf("<div class=\"weatherYubao\" id=\"7d\">")> -1){//截取字符串开始,记录位置
weatherStr.append(str);
begin = line;
divcount = 1;//div匹配的对数开始
}else{
if(begin > 0){//截取字符串已经开始
weatherStr.append(str);
if(str.indexOf("<div") > -1){//有新的div层开始
divcount ++;
}
if(str.indexOf("</div>")>-1){//有div层结束
divcount--;
}
if(divcount == 0){//div匹配的对数完成
break;
}
}
}

line ++;
}
br.close();
[解决办法]
关于js解析xml的方法问题,我下午查了一下,也测试通过,你可以看看这里

JScript code
$.ajax({       url:'http://www.google.com/ig/api?hl=zh-cn&weather=Beijing',      type: 'POST',       dataType: 'xml',      success:function(xml){       var xmldoc=loadXML(xml);//loadXML方法,上面链接有介绍       var root=$('weather',xmldoc);       alert(root[0].childNodes.length);       //遍历root[0].childNodes做其它处理...      }}); 

热点排行