我正在尝试在een html页面中显示een xml文件但是当标记名具有empy null值时,它会在该点停止并且不会显示文件的其余部分
<script>
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","./test.XML",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.write("<table border='0'>");
var x=xmlDoc.getElementsByTagName("file");
for (i=0;i<x.length;i++)
{
document.write("<table width=100% border=0 cellpadding=0 cellspacing=0 class=table><tr><td>"+
"<table width=100% border=0 cellpadding=0 cellspacing=0 class=table>"+
"<tr><td width=6%></td><td align=left>"+x[i].getElementsByTagName("nr")[0].childNodes[0].nodeValue+"<br><br></td><td></td><td align=left>text<br><br></td></tr>"+
"<tr><td align=left>"+x[i].getElementsByTagName("nrorder")[0].childNodes[0].nodeValue+"</td>");
if(x[i].getElementsByTagName("text")[0].childNodes[0].length = 0)
{
document.write("<td></td>");
}
else
{
document.write("<td align=left><b>"+x[i].getElementsByTagName("text")[0].childNodes[0].nodeValue+"</b></td>");
}
}
</script>
</center>
</div>
</body>
</html>
这里是测试xml文件
<file>
<nr>1</nr>
<nrorder>101</nrorder>
<text>1</text>
</file>
<file>
<nr>2</nr>
<nrorder>102</nrorder>
<text></text>
</file>
<file>
<nr>33333333333</nr>
<nrorder>103</nrorder>
<text>33333333</text>
</file>
所以,当我到达2时,它不会继续到3.我怎么能继续下一个?没有停在第二个
如果我删除if语句我可以显示所有内容但需要此元素
修复是:
if (x[i].getElementsByTagName("text")[0].childNodes.length == 0) {
document.write("<td align=left><b></b></td>")
}
else {
document.write("<td align=left><b>"+x[i].getElementsByTagName("text")[0].childNodes[0].nodeValue+"</b></td>");
}
答案 0 :(得分:0)
if (x[i].getElementsByTagName("text")[0].childNodes.length == 0) {
document.write("<td align=left><b></b></td>")
}
else {
document.write("<td align=left><b>"+x[i].getElementsByTagName("text")[0].childNodes[0].nodeValue+"</b></td>");
}