我需要从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文件包含每个标记的值。
由于
答案 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);
}
}
}