JavaScript XML解析可以在IE中工作,但不能在Firefox/Chrome中工作

JavaScript XML解析可以在IE中工作,但不能在Firefox/Chrome中工作,javascript,xml,internet-explorer,google-chrome,Javascript,Xml,Internet Explorer,Google Chrome,我的脚本在IE中工作,但在Firefox/Chrome中不工作,这很奇怪,我的XML解析有以下问题。当然,我在做一些非常愚蠢的事情,但是我非常感谢任何帮助 以下JavaScript函数: this.displayData = function(xml) { var table = document.createElement("table"); // table for results table.border=0; table.width="100%"; tab

我的脚本在IE中工作,但在Firefox/Chrome中不工作,这很奇怪,我的XML解析有以下问题。当然,我在做一些非常愚蠢的事情,但是我非常感谢任何帮助

以下JavaScript函数:

this.displayData = function(xml)
{
    var table = document.createElement("table"); // table for results
    table.border=0;
    table.width="100%";
    table.classname="requestList";

    var container = document.getElementById('mainright');

    if (container.hasChildNodes())
    {
        while(container.childNodes.length >= 1)
            container.removeChild(container.firstChild);
    }

    container.appendChild(table);

    var entities = xml.getElementsByTagName("entity");

    for (var i=0; i<entities.length; ++i)
    {
        var entity = entities[i];
        var row = table.insertRow(table.getElementsByTagName("tr").length);
        var fields = entity.getElementsByTagName("field");

        for (var z=0; z<fields.length; ++z)
        {
            var cell = row.insertCell(z);
            cell.innerHTML = "("+fields[z].childNodes[0].nodeValue+")";
        }
    }
}
这两种方法似乎都很有效

但我欢迎任何适当的解决办法

干杯


Dave。

这被证明是一个标题问题-愚蠢的是,我没有将XML生成中的输出标题设置为text/XML。虽然IE不在乎FF和Chrome


在PHP中设置内容类型头解决了这个问题。

p.S.我得到了与字段[z].firstChild.nodeValue以及实体[I].childNodes[z]相同的响应。。。
<data-list>
<entity entity="">
<field field="requestid">
<![CDATA[ 1 ]]>
</field>
<field field="customer">
<![CDATA[ 1 ]]>
</field>
<field field="assignteam">
<![CDATA[ 0 ]]>
</field>
<field field="assignuser">
<![CDATA[ admin ]]>
</field>
<field field="class">
<![CDATA[ 1 ]]>
</field>
<field field="openeddt">
<![CDATA[ 2012-06-11 19:39:26 ]]>
</field>
<field field="status">
<![CDATA[ 1 ]]>
</field>
</entity>
<entity entity="">
<field field="requestid">
<![CDATA[ 2 ]]>
</field>
<field field="customer">
<![CDATA[ 1 ]]>
</field>
<field field="assignteam">
<![CDATA[ 0 ]]>
</field>
<field field="assignuser">
<![CDATA[ admin ]]>
</field>
<field field="class">
<![CDATA[ 1 ]]>
</field>
<field field="openeddt">
<![CDATA[ 2012-06-11 19:40:02 ]]>
</field>
<field field="status">
<![CDATA[ 1 ]]>
</field>
</entity>
</data-list>
var data = (fields[z].textContent == undefined) ? fields[z].firstChild.nodeValue : fields[z].textContent;
cell.innerHTML = data;