Heim  >  Artikel  >  Web-Frontend  >  Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)_javascript技巧

Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)_javascript技巧

WBOY
WBOYOriginal
2016-05-16 18:23:15793Durchsuche
复制代码 代码如下:

//导入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:
复制代码 代码如下:

childNodes 属性返回子节点的列表。 元素只有一个子节点,即一个文本节点。
下面的代码检索
元素的文本节点:
x=xmlDoc.getElementsByTagName("a")[0];
y=x.childNodes[0];
nodeValue 属性返回文本节点的文本值:
x=xmlDoc.getElementsByTagName("title")[0];
y=x.childNodes[0];
txt=y.nodeValue;
结果:txt = "ggd"
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn