If statement 空元素xml加载停止
我试图在een html页面中显示een xml文件,但当标记名具有empy null值时,它会在该点停止,并且不会显示文件的其余部分If statement 空元素xml加载停止,if-statement,getelementsbytagname,isnullorempty,If Statement,Getelementsbytagname,Isnullorempty,我试图在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 Ac
<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 station,我可以显示除此元素以外的所有内容
解决办法是:
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>");
}
}
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>");