我很抱歉这个问题,但我是第一次这样做
这是我的loadxml.js文件,用于加载xml文件
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.onreadystatechange=function()
{
if (xhttp.readyState==4 && xmlhttp.status==200)
{
return xhttp.responseXML;
}
}
xhttp.open("GET",dname, true);
xhttp.send();
}
现在这里是我的html文件whre使用javascript我尝试提取节点
<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js">
</script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("books.xml");
document.write(xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue + "<br>");
document.write(xmlDoc.getElementsByTagName("author")[0].childNodes[0].nodeValue + "<br>");
document.write(xmlDoc.getElementsByTagName("year")[0].childNodes[0].nodeValue);
</script>
</body>
</html>
这是xml文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year> <price>30.00</price>
</book> -
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web" cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
答案 0 :(得分:0)
您正在执行异步请求。附加处理程序或使其同步以进行调试。
xhttp.open("GET",dname,false);
或者更好地使用处理程序:
xhttp.open("GET",dname,true);
xhttp.onreadystatechange = function(){
if(xhttp.readyState == 4){
if(xhttp.status == 200)
console.log(req.responseText);
else
console.log('Error getting data') ;
}
}
xhttp.send(null);
return xhttp.responseXML;
答案 1 :(得分:0)
我建议您使用jQuery,因为它将为您完成大部分工作。
$.ajax({
url: 'ajax/test.html',
success: function(data) {
$('.result').html(data);
alert('Load was performed.');
}
});