我正在使用JavaScript将XML文件写入HTML文件。
这是我正在使用的JavaScript:
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","file.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var x=xmlDoc.getElementsByTagName("tagParent");
document.write(x.getElementsByTagName("tagChild")[0].childNodes[0].nodeValue);
该脚本将适用于除自我关闭xml元素(<element/>
)之外的所有内容。
示例XML文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<tagParent>
<tagChild/>
</tagParent>
脚本在到达自我结束标记时会中断和停止。
如果要输出0或“”,我需要做什么?它为什么会破碎?
答案 0 :(得分:2)
它因为元素为空而中断。它没有任何孩子,因此当您尝试获取第一个孩子的nodeValue
时,会出现错误,因为undefined
没有0
属性。
你想要的东西是:
var dataNodes, value;
dataNodes = x.getElementsByTagName("tagChild")[0].childNodes;
if (dataNodes.length) {
value = dataNodes[0].nodeValue;
} else {
value = 0;
}
document.write(value);