返回XML节点值

时间:2017-08-24 08:56:16

标签: javascript xml

我需要从URL返回所有XML值。

我之前使用过该网址,但效果很好。

这是我到目前为止所做的:

function displayXML(xml) {
        var devices = xml.getElementsByTagName("device");

        for (var i = 0; i < devices.length; i++) {
            var deviceDetails = devices[i].children;

            for (j = 0; j < deviceDetails.length; j++) {
                console.log(devices[i].childNodes[j].nodeValue);
            }

        }


    }

它设法返回正确数量的值:33个标签33值

但是每个都返回null。但是,XML文件包含每个标记的值。

由于

1 个答案:

答案 0 :(得分:2)

基于对此question

的回答

XML元素的nodeValue属性始终为null。元素的值实际上存储在元素内的文本节点中,因此您需要再向下一个子元素才能获得它。试试这个

var devices = xml.getElementsByTagName("device")[i].firstChild.nodeValue;

我认为在尝试获取值时,如果插入firstChild,您的脚本应该看起来像这样:

function displayXML(xml) {
        var devices = xml.getElementsByTagName("device");

        for (var i = 0; i < devices.length; i++) {
            var deviceDetails = devices[i].children;

            for (j = 0; j < deviceDetails.length; j++) {
                console.log(devices[i].childNodes[j].firstChild.nodeValue);
            }

        }
    }