var xmlString="<?xml version="1.0" encoding="gb2312" ?>"
+"<books>"
+"<book>GaoJimmy</book>"
+"</books>";
//IE
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(xmlString);
//Firefox
var domParser=new DOMParser();
xmlDoc=domParser.parseFromString(xmlString,'text/xml');
var node=xmlDoc.getElementsByTagName("books")[0];
IE中 node总是null,Firefox中,正常。
最后发现去掉<?xml version="1.0" encoding="gb2312" ?>,IE正常运行。
本文探讨了在不同浏览器环境下加载带有XML声明的XML字符串时遇到的问题。具体表现为在IE中无法通过getElementsByTagName获取到节点,而在Firefox中则可以正常获取。文中给出了一个解决办法,即移除XML声明部分。

被折叠的 条评论
为什么被折叠?



