我自己在学习的过程中才知道,在用javascript实现对xml的解析的时候,在不同的浏览器下面,有不同的方法。下面是在IE下面的解析方法,我说的三种,仅仅是我对于其做的一总结,希望能对正在学习ajax的您有所帮助。
从服务器取得的XML结果:
<?xml version="1.0" encoding="UTF-8" ?>
<citys>
<city>shanghai</city>
<city>tianjin</city>
<city>chengdu</city>
<city>chongqing</city>
<city>hainan</city>
</citys>
解析方法(一)
??????? var doc = response.responseXML;
??????? //alert(doc);
??
??????? var root = doc.documentElement;
??????? alert(root.text);
???????
??????? var cities = root.childNodes;
??????? alert(cities.length);
???????
??????? for(var i=0;i<cities.length;i++){
????????? var city = cities[i];
????????? alert(city.text);
??????? }
解析方法(二):
??????? var cities = doc.selectNodes("/citys/city");
??????? alert(cities.length);
???????
??????? for(var i=0;i<cities.length;i++){
????????? var city = cities[i];
????????? alert(city.text);
??????? }
???????
解析方法(三):
var doc = response.responseXML;
??????? var cs = doc.getElementsByTagName("city");?????
??????? alert(cs.length);
???????
??????? for(var i=0;i<cs.length;i++){
????????? vara = cs[i];
????????? //alert(a);
????????? //alert(a.nodeName);
????????? //alert(a.nodeValue);
????????? var b = a.childNodes;
????????? //alert(b);
????????? var c=b[0];
????????? alert(c.nodeValue);
??????? }
只有第三种方法,可以在IE和Firefox下面通用。
如果有不妥之处,请路过的您多多指教。
来源于:http://www.blogjava.net/zhyiwww/archive/2008/06/02/205378.html