获取xml节点文本

get xml node text

本文关键字:文本 节点 xml 获取      更新时间:2023-09-26

我似乎在JavaScript中找不到任何解决方案,因为我不想使用jQuery。我正在尝试从xml文档中获取日期文本。我有以下代码,但我得到的错误是,长度不能从未定义读取。我做错了什么?

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();

getElementsByTagName为您提供了一个节点列表,而不是一个将结果作为子节点的元素。尝试

    for (count = 0; count < date.length; count++) {
        // text of date node
        xmlDate = date[count].childNodes[0].nodeValue;
        // read out text
        console.log(xmlDate);
    }