使用Javascript解析XML数据

使用Javascript解析XML数据,javascript,xml,Javascript,Xml,我已经学习了xml的基础知识,现在尝试使用javascript解析xml数据。 我已经从w3schools获得了帮助&编写了以下代码,但是没有进行解析,并且显示了一个空白页面。请帮忙 我使用的xml文件是books.xml: <bookstore> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis

我已经学习了xml的基础知识,现在尝试使用javascript解析xml数据。 我已经从w3schools获得了帮助&编写了以下代码,但是没有进行解析,并且显示了一个空白页面。请帮忙

我使用的xml文件是books.xml

<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>
</bookstore>

日常意大利语
吉娅达·德·劳伦蒂斯
2005
30
哈利·波特
J K.罗琳
2005
29.99
Html代码是:

<!DOCTYPE html>
<html>
<head>
<script>

function loadXMLDoc(filename)
{
if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }

xhttp.open("GET",filename,false);
xhttp.send();
return xhttp.responseXML;
}


</script>
</head>
<body>
<script>

var xmlDoc=loadXMLDoc("C:/Users/A/Desktop/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>

函数loadXMLDoc(文件名)
{
if(window.XMLHttpRequest)
{
xhttp=newXMLHttpRequest();
}
xhttp.open(“GET”,filename,false);
xhttp.send();
返回xhttp.responseXML;
}
var xmlDoc=loadXMLDoc(“C:/Users/A/Desktop/books.xml”);
document.write(xmlDoc.getElementsByTagName(“title”)[0].childNodes[0].nodeValue+“
”; document.write(xmlDoc.getElementsByTagName(“作者”)[0]。childNodes[0]。nodeValue+“
”; document.write(xmlDoc.getElementsByTagName(“年”)[0].childNodes[0].nodeValue);
我已经尝试了你的代码,它很有效(我正在Mac OSX上使用Mozilla Firefox 28)

请记住,在Windows系统上,目录分隔符是反斜杠\而不是斜杠/
尝试在xml路径中更改这一点。也许您会看到一个空白页面,因为您没有提供回退,以防ajax请求找不到该xml。如果您使用的是Firebug,那么在尝试获取该xml时应该会看到“404未找到”错误。

除非您出于学术好奇心而这样做,否则最好使用预先编写的库,如jQuery。检查此处:不要使用
文档。编写
,请参阅中的警告。使用DOM方法。您的
xmlDoc
是XML对象吗?执行
console.log(xmlLog)
可以肯定。@JonathanM实际上我已经非常努力了,但是没有得到它…这在js中是不可能的吗?@Oriol你能告诉我具体的dom方法吗…我无法理解,无论我尝试什么,代码在我的pc中都不起作用。在Firefox中也尝试过:(将文件目标更改为“file:///C:/Users/A/Desktop/books.xml"