Javascript 无法想出一种方法来处理对多个表的XML读取
我正在创建一个显示从XML文件获得的信息的页面。(我不熟悉javascript,所以边学边用) 我的页面由一个主容器div组成,其中有4个div向左浮动,彼此相邻。这些div都包含一个使用XML文件中的数据创建的表。除了字段没有数据外,其他一切都可以完美地工作——然后它就不会创建表的这一部分,整个布局就变得一团糟,无法读取 这是我的一个div的代码Javascript 无法想出一种方法来处理对多个表的XML读取,javascript,Javascript,我正在创建一个显示从XML文件获得的信息的页面。(我不熟悉javascript,所以边学边用) 我的页面由一个主容器div组成,其中有4个div向左浮动,彼此相邻。这些div都包含一个使用XML文件中的数据创建的表。除了字段没有数据外,其他一切都可以完美地工作——然后它就不会创建表的这一部分,整个布局就变得一团糟,无法读取 这是我的一个div的代码 <div id="main3"> <script> document
<div id="main3">
<script>
document.write("<table border='0'>");
var x = xmlDoc.getElementsByTagName("employee");
for (i = 8; i < 12; i++)
{
document.write("<tr><td></td><td></td></tr>");
switch(x[i].getElementsByTagName("active")[0].childNodes[0].nodeValue)
{
case "Yes":
document.write("<tr><td id=pic><img src=../images/employees/");
document.write(x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);
document.write(".png width=100 height=100></td><td id=Yes>");
document.write(x[i].getElementsByTagName("name")[0].childNodes[0].nodeValue);
document.write("</td></tr>");
break;
case "No":
document.write("<tr><td id=pic><img src=../images/employees/");
document.write(x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);
document.write(".png width=100 height=100></td><td id=No>");
document.write(x[i].getElementsByTagName("name")[0].childNodes[0].nodeValue);
document.write("</td></tr>");
break;
default:
document.write("<tr><td></td><td></td></tr>");
}
}
document.write("</table>");
</script>
</div>
文件。填写(“”);
var x=xmlDoc.getElementsByTagName(“员工”);
对于(i=8;i<12;i++)
{
文件。填写(“”);
开关(x[i]。getElementsByTagName(“活动”)[0]。子节点[0]。节点值)
{
案例“是”:
文件。填写(“”);
document.write(x[i].getElementsByTagName(“名称”)[0].childNodes[0].nodeValue);
文件。填写(“”);
打破
案例“否”:
文件。填写(“”);
document.write(x[i].getElementsByTagName(“名称”)[0].childNodes[0].nodeValue);
文件。填写(“”);
打破
违约:
文件。填写(“”);
}
}
文件。填写(“”);
在代码中,switch语句中的默认情况永远不会被调用(我猜是因为它在“active”中找不到任何数据),因此它会退出并破坏布局
我知道代码可能是最糟糕的方法,但它对我来说是有效的(除了空白数据问题)。
任何帮助都将不胜感激。谢谢。您可以为此尝试XSLT。查看了XSLT,这可能很有用,但我尝试对每个结果使用单独的表,效果很好。谢谢您的帮助!