javascript解析xml字符串的函數(shù)
更新時間: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的發(fā)生異常的處理方式,就是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需再刷新一下頁面才能執(zhí)行]
看,不管在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"?>,解析結(jié)果不一致,所以我上面的例子沒有加這些字符。
var oParser=new DOMParser();
xmlDoc=oParser.parseFromString(xmlStr,"text/xml");
為了在兩種瀏覽器中能通用,我想到了javascritp的發(fā)生異常的處理方式,就是try...catch...
復(fù)制代碼 代碼如下:
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需再刷新一下頁面才能執(zhí)行]
看,不管在ie還是ff中都彈出了1400吧??!
復(fù)制代碼 代碼如下:
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"?>,解析結(jié)果不一致,所以我上面的例子沒有加這些字符。
相關(guān)文章
javascript簡寫常用的12個技巧(可以大大減少你的js代碼量)
這篇文章主要跟大家分享了javascript簡寫常用的12個技巧,通過這12個技巧可以大大減少你的js代碼量,看懂一種是入門,全懂就是大神,你能知道幾個呢?需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)下吧。2017-08-08JavaScript中為什么null==0為false而null大于=0為true(個人研究)
今天閑來沒啥事,研究了一下有關(guān)“null”和“0”的關(guān)系。希望大家看完了能有所收獲,在此與大家分享下,希望也可以受益匪淺2013-09-09用Javascript 和 CSS 實現(xiàn)腳注(Footnote)效果
腳注(Footnote)是向用戶提供更多信息的一個最佳途徑,也是主體信息的一個有效補充,常見于各種印刷書籍中。2009-09-09js 鼠標(biāo)拖動對象 可讓任何div實現(xiàn)拖動效果
js鼠標(biāo)拖動對象,可讓任何div實現(xiàn)拖動效果,需要的朋友可以參考下。2009-11-11bootstrap的3級菜單樣式,支持母版頁保留打開狀態(tài)實現(xiàn)方法
下面小編就為大家?guī)硪黄猙ootstrap的3級菜單樣式,支持母版頁保留打開狀態(tài)實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11javascript+css3開發(fā)打氣球小游戲完整代碼
這是一個簡單但是印象深刻的小游戲,打氣球小游戲的實現(xiàn)代碼,主要基于js和css3,基于css3畫氣球,具體實現(xiàn)代碼大家參考下本文2017-11-11詳解js產(chǎn)生對象的3種基本方式(工廠模式,構(gòu)造函數(shù)模式,原型模式)
本篇文章主要介紹了js產(chǎn)生對象的3種基本方式(工廠模式,構(gòu)造函數(shù)模式,原型模式) ,具有一定的參考價值,有興趣的可以了解一下2017-01-01