错在哪里(火狐解析XML)
刚学XML,实在找不出错在哪:
- XML code
<?xml version="1.0" encoding="utf-8" standalone="yes"?><content> <first> <aaa>菩提本无树</aaa> <bbb>明镜亦非台</bbb> <ccc id="this">本来无一物</ccc> <ddd>何处惹尘埃</ddd> </first> <second> <aaa>煮豆燃豆萁</aaa> <bbb>豆在釜中泣</bbb> <ccc>本是同根生</ccc> <ddd>相煎何太急</ddd> </second></content>
- HTML code
<html><head><script language="javascript" type="text/javascript"><!-- var xd; try{ xd=new ActiveXObject("Microsoft.XMLDOM"); xd.async="false"; xd.load("test.xml"); }catch(e){ try{ xd=document.implementation.createDocument("","",null); xd.async="false"; xd.load("test.xml"); }catch(e){ alert(e.message); } } try{ alert(xd.getElementsByTagName("first").length); }catch(e){ alert(e.message); } --> </script> </head></html>
在IE中运行显示1 (正常)
在firefox中显示0 (找不到对象)
请帮看看错在哪里,谢谢!
[解决办法]
不同的浏览器对待空白节点的方式不同,IE能把空白结点忽略掉。像回车换行就可以称为一个空白结点。楼主可以试着把xml文件写到一行上,看是不是运行结果就一样了。
[解决办法]
new ActiveXObject("Microsoft.XMLDOM");
这里activex控件,估计只有IE浏览器自带的有吧,其他的浏览器不支持