获取xml节点文本

时间:2012-08-03 01:41:52

标签: javascript

我似乎无法在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();

1 个答案:

答案 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);
    }