本文介绍了如何在javascript中遍历所有子节点?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我遇到了问题,以下代码可以在Microsoft IE浏览器中正常运行,但无法在Google Chrome浏览器上运行。
XML文档结构:
<? xml version = 1.0 ?>
< 书店 >
< book >
< 作者 > name1 < / author >
< bo okname > C#编程< / bookname >
< 价格 > $ 50 < /价格 >
< / book >
< book >
< 作者 > name2 < / author >
< bookname > C ++编程< / bookname >
< 价格 > $ 60 < / price >
< / book >
< book >
< 作者 > name3 < / author >
< bookname > Java编程< / bookname >
< 价格 > $ 60 < / price >
< / book >
< / bookstore >
javascript code:
< script type =text / javascript>
函数getXMLValue(){
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}
else {
xmlhttp = new ActiveXObject(Microsoft.XMLHTTP);
}
xmlhttp.open(GET,books.xml,false);
xmlhttp.send(null);
xmlDoc = xmlhttp.responseXML;
var bNumber = xmlDoc.getElementsByTagName(book);
for(var i = 0; i< bNumber.length; i ++){
for(var j = 0; j< 3; j ++){
//访问属于所有'book'的子节点。
window.alert(xmlDoc.getElementsByTagName(book)[i] .childNodes [j] .childNodes [0] .nodeValue);
}
}
}
< / script>
Google Chrome提示:未捕获TypeError:无法读取未定义的属性'nodeValue'
谢谢。
解决方案
Hi,
I encountered a problem, the following code can run properly in Microsoft IE browser, but can not run on Google Chrome browser.
XML document structure:
<?xml version="1.0"?> <bookstore> <book> <author>name1</author> <bookname>C# Programming</bookname> <price>$50</price> </book> <book> <author>name2</author> <bookname>C++ Programming</bookname> <price>$60</price> </book> <book> <author>name3</author> <bookname>Java Programming</bookname> <price>$60</price> </book> </bookstore>
javascript codes:
<script type="text/javascript"> function getXMLValue() { if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET", "books.xml", false); xmlhttp.send(null); xmlDoc = xmlhttp.responseXML; var bNumber = xmlDoc.getElementsByTagName("book"); for (var i = 0; i < bNumber.length; i++) { for (var j = 0; j < 3; j++) { // Visit belong to all child nodes of 'book' . window.alert(xmlDoc.getElementsByTagName("book")[i].childNodes[j].childNodes[0].nodeValue); } } } </script>
Google Chrome prompt:Uncaught TypeError: Cannot read property 'nodeValue' of undefined
Thanks.
解决方案
这篇关于如何在javascript中遍历所有子节点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!