我似乎无法在JavaScript中找到任何解决方案,因为我不想使用jQuery。我试图从xml文档中获取日期文本。我有以下代码,但是我得到的错误是无法从undefined中读取长度。我做错了什么?
var request, xmldocument, date, xmlDate;
request = new XMLHttpRequest();
request.open("GET", "http://XXXXX/rss.php", true);
request.onreadystatechange = function() {
if (request.readyState == 4) {
// xml document
xmldocument = request.responseXML;
// dates from xml document
date = xmldocument.getElementsByTagName("pubDate");
// loop over dates
for (count = 0; count <= date.childNodes.length; count++) {
// text of date node
xmlDate = date.childNodes[i].nodeValue;
// read out text
console.log(xmlDate);
}
}
}
request.send();
答案 0 :(得分:1)
getElementsByTagName
为您提供一个节点列表,而不是一个元素,结果为子节点。尝试
for (count = 0; count < date.length; count++) {
// text of date node
xmlDate = date[count].childNodes[0].nodeValue;
// read out text
console.log(xmlDate);
}