javascript解析xml字符串的函数
2008-06-01 00:00
771 查看
但是是XML字符串,则在两种浏览器下就会有所不同,IE下可以直接使用LoadXML方法解析XML字符串,而在FF下则要使用DOMParser 对象的parseFromString() 方法即
var oParser=new DOMParser();
xmlDoc=oParser.parseFromString(xmlStr,"text/xml");
为了在两种浏览器中能通用,我想到了javascritp的发生异常的处理方式,就是try...catch...
function toXML(strxml){
try{
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
//var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.loadXML(strxml);
}
catch(e){
var oParser=new DOMParser();
xmlDoc=oParser.parseFromString(strxml,"text/xml");
}
return xmlDoc;
}
str="1400Default.htm"
var xmlObj=toXML(str);
alert(xmlObj.childNodes[0].firstChild.firstChild.nodeValue);
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
看,不管在ie还是ff中都弹出了1400吧!!
功能是一样的,都是为了在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; }
function toXML(strxml){
try{
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
//var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.loadXML(strxml);
}
catch(e){
var oParser=new DOMParser();
xmlDoc=oParser.parseFromString(strxml,"text/xml");
}
return xmlDoc;
}
str="1400Default.htm"
var xmlObj=toXML(str);
alert(xmlObj.childNodes[0].firstChild.firstChild.nodeValue);
[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"?>,解析结果不一致,所以我上面的例子没有加这些字符。
相关文章推荐
- javascript解析xml字符串的函数
- 原生javascript实现解析XML文档与字符串
- javascript解析返回的xml各式的字符串
- 使用javascript的eval函数解析json字符串,提示“not avalible”怎么办?
- 原生javascript实现解析XML文档与字符串
- javascript xml字符串解析
- Javascript解析xml字符串,兼容firefox和ie
- Javascript解析xml字符串,兼容firefox和ie
- JAVASCRIPT处理返回的XML字符串
- javascript常用自定义字符串处理函数
- dom4j4.1.3解析XML字符串实例
- DOM 解析字符串XML
- 更智能的JavaScript回调函数解析
- JavaScript 解析XML
- JavaScript中常见的字符串操作函数及用法
- javascript解析XML生成树形结构
- 网页中先全部解析JavaScript,(若有事件/入口函数)再调用
- javascript字符串操作函数大全
- javascript 两个字符串比较函数
- TinyXML 解析 UTF-8 字符串的问题