Javascript 解析XML的代码(兼容FIREFOX/IE)
//导入js文件 function getResult(url, ready) { var xmlHttp; var r = function() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { //alert(isIE); var xmlstr; var xmldoc; var isIE = !!(window.attachEvent && !window.opera); if (isIE) xmldoc = xmlHttp.responseXML; else { xmlstr = xmlHttp.responseText; alert(xmlstr); var parser = new DOMParser(); xmldoc = parser.parseFromString(xmlstr, "text/xml"); } try { ready(xmldoc); } catch (e) { alert(e.message); } } } } var create = function(url, r) { try { // Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("您的浏览器不支持AJAX!"); return false; } } } xmlHttp.onreadystatechange = r; xmlHttp.open("GET", url, true); xmlHttp.send(null); } create(url, r); } //应用 function ready(xmlDoc) { x=xmlDoc.getElementsByTagName("a")[1]; y=x.childNodes[0]; txt=y.nodeValue; alert(txt); } getResult("../xml.jsp",ready); xml: <r> <a>ff</a> <a>ggd</a> </r> childNodes 属性返回子节点的列表。<a> 元素只有一个子节点,即一个文本节点。 下面的代码检索 <a> 元素的文本节点: x=xmlDoc.getElementsByTagName("a")[0]; y=x.childNodes[0]; nodeValue 属性返回文本节点的文本值: x=xmlDoc.getElementsByTagName("title")[0]; y=x.childNodes[0]; txt=y.nodeValue; 结果:txt = "ggd" |