Javascript 无法想出一种方法来处理对多个表的XML读取

Javascript 无法想出一种方法来处理对多个表的XML读取,javascript,Javascript,我正在创建一个显示从XML文件获得的信息的页面。(我不熟悉javascript,所以边学边用) 我的页面由一个主容器div组成,其中有4个div向左浮动,彼此相邻。这些div都包含一个使用XML文件中的数据创建的表。除了字段没有数据外,其他一切都可以完美地工作——然后它就不会创建表的这一部分,整个布局就变得一团糟,无法读取 这是我的一个div的代码 <div id="main3"> <script> document

我正在创建一个显示从XML文件获得的信息的页面。(我不熟悉javascript,所以边学边用)

我的页面由一个主容器div组成,其中有4个div向左浮动,彼此相邻。这些div都包含一个使用XML文件中的数据创建的表。除了字段没有数据外,其他一切都可以完美地工作——然后它就不会创建表的这一部分,整个布局就变得一团糟,无法读取

这是我的一个div的代码

<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,这可能很有用,但我尝试对每个结果使用单独的表,效果很好。谢谢您的帮助!