javascript解析xml字符串的函数
更新时间:2008年06月01日 20:04:51 作者:
在使用操作XML文件时,我们可以使用Load方法直接加载xml文件即可,在ie和ff下通用。
但是是XML字符串,则在两种浏览器下就会有所不同,IE下可以直接使用LoadXML方法解析XML字符串,而在FF下则要使用DOMParser 对象的parseFromString() 方法即
var oParser=new DOMParser();
xmlDoc=oParser.parseFromString(xmlStr,"text/xml");
为了在两种浏览器中能通用,我想到了javascritp的发生异常的处理方式,就是try...catch...
function toXML(strxml){
try{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.loadXML(strxml);
}
catch(e){
var oParser=new DOMParser();
xmlDoc=oParser.parseFromString(strxml,"text/xml");
}
return xmlDoc;
}
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
看,不管在ie还是ff中都弹出了1400吧!!
function FormatToXml(strXml){
var isIE = function(){
var IE = /msie/i.test(navigator.userAgent);
return IE;
}
var Exc = function(){
var XmlDoc = null;
if (isIE())
{
XmlDoc = new ActiveXObject("Microsoft.XMLDOM");
XmlDoc.loadXML(strXml);
}else{
//FireFox2.0、Safari2.0
XmlDoc = (new DOMParser()).parseFromString(strXml, "text/xml");
}
return XmlDoc;
}
return Exc();
}
功能是一样的,都是为了在ie和ff中处理xml字符串的解析问题。不过在无忧上有些人说xml字符串要有<?xml version="1.0" encoding="gb2312"?>,可我测试后若有xml version="1.0" encoding="gb2312"?>,解析结果不一致,所以我上面的例子没有加这些字符。
var oParser=new DOMParser();
xmlDoc=oParser.parseFromString(xmlStr,"text/xml");
为了在两种浏览器中能通用,我想到了javascritp的发生异常的处理方式,就是try...catch...
复制代码 代码如下:
function toXML(strxml){
try{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.loadXML(strxml);
}
catch(e){
var oParser=new DOMParser();
xmlDoc=oParser.parseFromString(strxml,"text/xml");
}
return xmlDoc;
}
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
看,不管在ie还是ff中都弹出了1400吧!!
复制代码 代码如下:
function FormatToXml(strXml){
var isIE = function(){
var IE = /msie/i.test(navigator.userAgent);
return IE;
}
var Exc = function(){
var XmlDoc = null;
if (isIE())
{
XmlDoc = new ActiveXObject("Microsoft.XMLDOM");
XmlDoc.loadXML(strXml);
}else{
//FireFox2.0、Safari2.0
XmlDoc = (new DOMParser()).parseFromString(strXml, "text/xml");
}
return XmlDoc;
}
return Exc();
}
功能是一样的,都是为了在ie和ff中处理xml字符串的解析问题。不过在无忧上有些人说xml字符串要有<?xml version="1.0" encoding="gb2312"?>,可我测试后若有xml version="1.0" encoding="gb2312"?>,解析结果不一致,所以我上面的例子没有加这些字符。
相关文章
详解JS截取字符串的三个方法substring,substr,slice
js中有三个截取字符的方法,分别是substring()、substr()、slice(),平时我们可能都用到过,但总是会对这些方法有点混淆。本文将详细介绍一下这三者的区别,需要的可以参考一下2022-03-03
THREE.JS使用TransformControls对模型拖拽的代码实例
拖拽是前端实现中比较常用的一种效果,下面这篇文章主要给大家介绍了关于THREE.JS使用TransformControls对模型拖拽的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下2024-03-03
JavaScript 实现HTML DOM增删改查操作的常见方法详解
这篇文章主要介绍了JavaScript 实现HTML DOM增删改查操作,结合实例形式分析了JavaScript针对HTML DOM元素增删改查常见操作技巧与使用注意事项,需要的朋友可以参考下2020-01-01


最新评论