JavaScript XML解析可以在IE中工作,但不能在Firefox/Chrome中工作
我的脚本在IE中工作,但在Firefox/Chrome中不工作,这很奇怪,我的XML解析有以下问题。当然,我在做一些非常愚蠢的事情,但是我非常感谢任何帮助 以下JavaScript函数: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
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;