未分类

www6766comjs操作XML文件的实现方法兼容IE与FireFox_javascript技巧_脚本之家

12 3月 , 2020  

跻身正文 上边是一个xml文件

www6766com,为了能包容IE与FF,写如下多少个函数:

var docum = loadxml;//加载一个xml文件var root = docum.documentElement;//根节点var nodelist = root.getElementsByTagName;for(var i=0;i这样就能保证IE与FF的兼容,(目前谷歌浏览器没有办法用这种方法兼容,还待修改)另外说下FireFox获取xml的两种方法:firefox中JS读取XML文件 在网上搜“firefox中JS读取XML文件”的方法,找了半天,好 多都是问了没人答的。看到一堆程序员在抱怨firefox:“除了累死程序员没什么好处。”,言归正传。firefox不支持ie中的 ActiveXObject对象,要得到一个XML DOM有以下2种方法:1、document.implementation.createDocument;2、window.XMLHttpRequest示例:1、var dom=document.implementation.createDocument;dom.async=false; dom.load;//dom就是xml对象了。2、var oXmlHttp = new XMLHttpRequest() ; oXmlHttp.open( "GET", "test.xml", false ) ; oXmlHttp.send ; //oXmlHttp.responseXML就是xml对象了。注意:1、火狐解析xml文档2、火狐浏览器和ie解析xml不一样节点的值用textContent。3、并且他会在有的层次child节点前后都加上"n"换行符。(这个搞不清楚为什么,用firebug调试的时候就是这个样子,所以写过的代码最好测试一下,换个环境就不对了) ,也就是说第1个节点是"n",第2个节点才是真正的第一个节点。 第3个节点是"n",第4个节点才是真正的第二个节点。 根据上述的火狐的情况,我这里有个例子避免了使用childNodes,而达到兼容性:点击进入以上就是小编为大家带来的js操作XML文件的实现方法兼容IE与FireFox全部内容了,希望大家多多支持脚本之家~

近年来项目中用到了xml,要求是客户设置付加物时先把一精彩纷呈标数额保存到xml文件中,当实践到终极一步时才写入数据库,那样最大限度的压缩了数据库的访谈,于是只可以纠葛在各浏览器的宽容性的题目

var is_Ie =false; //是否为IE浏览器if  {is_Ie =true;}//加载多浏览器兼容的xml文档function loadXml {var xmldoc =null;try {xmldoc =new ActiveXObject;}catch  {try {xmldoc = document.implementation.createDocument;} catch ;}}try {//关闭异步加载xmldoc.async =false;xmldoc.load;return xmldoc;}catch ;}returnnull;}//将一个xml文档格式的字符串换成xml文档function createXml {if  {returnnull;try {var xmldocm =new ActiveXObject;xmldocm.loadXML;return xmldocm;}catch  {try {returnnew DOMParse().parseFromString;}catch  {returnnull;}}}}//获取节点及其子节点的文本function getXmlText {if  {//IEreturn oNode.tex;}var sText ="";for (var i =0; i < oNode.childNodes.length; i++) { //遍历子节点if (oNode.childNodes[i].hasChildNodes { //是否有子节点sText += getXmlText;} else {sText += oNode[i].childNodes.nodeValue;}}return sText;}//获取节点及其子节点的字符串标识function getXml {if  {//IEreturn oNode.xml;}var serializer =new XMLSerializer();return serializer.serializeToString;}//获取指定节点的文本(注意:也可以用oNode.childNodes[0].nodeValue来获取节点的文本信息,这样就不用考虑浏览器的问题了oNodeoNode)function getxmlnodeText {return oNode.text;} else {if return oNode.textContent;}}//获取指定节点的属性值function getxmlnodeattribute {if  {return oNode.getAttribute;} else {if (oNode.nodeType ==1|| oNode.nodeType =="1")return oNode.attributes[attrName].value;return"undefined";}}
编号级别名称描述繁体中文英文名称 

ok IE与FF 不再是主题材料,具体的操作方法如下:


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图