加载xml文档的问题。
var xmlDoc;
var isIE = /msie/i.test(navigator.userAgent);
if(isIE)
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
else
{
xmlDoc=document.implementation.createDocument("","",null);
}
try
{
xmlDoc.async=false;
xmlDoc.load("./xmlfiles/xmlFileName.xml");
iTotalPage=xmlDoc.getElementsByTagName("xmlFileName").length;
alert(iTotalPage);
}
catch(e) {alert(e.message)}
我看网上很多人都说以上方法可以支持跨浏览器,但是在safari下不行,提示不认识xmlDoc.load方法。请问该怎么解决?
[解决办法]
function serializeXml(oNode) {
var oSerializer = new XMLSerializer();
return oSerializer.serializeToString(oNode);
}
IE中的xml存放对当前节点包含的所有XML进行序列化的结果。
在Safari中,有名为XMLSerializer的对象来完成这一功能。该对象提供一个使用JavaScript可访问的serializeToString()方法,使用该方法可以对XML数据进行序列化。
xmlDoc.xml 可用 serializeXml(xmlDoc);代替