js操作XML檔案相容IE與FireFox

2022-02-19 18:18:55 字數 3938 閱讀 8301

最近專案中用到了xml,需求是使用者安裝產品時先把一系列的資料儲存到xml檔案中,當執行到最後一步時才寫入資料庫,這樣最大限度的減少了資料庫的訪問,於是不得不糾結在各瀏覽器的婦道相容性的問題(悲哀啊....)

進入正文 下面是乙個xml檔案 (createinstal.xml)

<?

xml version="1.0" encoding="utf-8"

?>

<

info

>

<

item

>

<

id descrption

="級別"

name

="1"

f_chines

="編號"

t_chines

="編號"

english

="id"

value

="1"

>

編號id

>

<

levelname

descrption

="級別"

name

=""f_chines

="級別名稱"

t_chines

="級別名稱"

english

="level-name"

value

="級別一"

>

級別名稱

levelname

>

<

decrption

descrption

="級別"

name

=""f_chines

="級別描述"

t_chines

="級別描述"

english

="level-description"

value

="級別描述一"

>

描述decrption

>

<

tchines

descrption

="級別"

name

=""f_chines

="正體中文"

t_chines

="正體中文"

english

="t-chinese"

value

="級別一"

>

正體中文

tchines

>

<

english

descrption

="級別"

name

=""f_chines

="英文名稱"

t_chines

="英文名稱"

english

="english"

value

="levelone"

>

英文名稱

english

>

<

獎項六 descrption

="獎項"

name

="106"

f_chines

="獎項六"

t_chines

="獎項六"

english

="worda-of-t"

value

="a"

/>

<

獎項十一 descrption

="獎項"

name

="111"

f_chines

="獎項十一"

t_chines

="獎項十一"

english

="11"

value

="0.05"

/>

<

獎項十二 descrption

="獎項"

name

="112"

f_chines

="獎項十二"

t_chines

="獎項十二"

english

="2222"

value

="0.04"

/>

<

獎項十三 descrption

="獎項"

name

="113"

f_chines

="獎項十三"

t_chines

="獎項十三"

english

="3333"

value

="0.85"

/>

<

獎項一 descrption

="獎項"

name

="101"

f_chines

="獎項一"

t_chines

="獎項一"

english

="aword-of-a"

value

="0.90"

/>

item

>

info

>

為了能相容ie與ff,寫如下幾個函式(loadxml.js):

varis_ie

=false

; //

是否為ie瀏覽器

if(window.activexobject)

//載入多瀏覽器相容的xml文件

function

loadxml(xmlurl)

catch

(e)

catch

(e)

}try

catch

(e)

return

null;}

//將乙個xml文件格式的字串換成xml文件

function

createxml(xmltext)

catch

(e)

catch

(e) }}

}//獲取節點及其子節點的文字

function

getxmltext(onode)

varstext =""

;for

(vari =

0; i

<

onode.childnodes.length; i

++)

else

}return

stext;}//

獲取節點及其子節點的字串標識

function

getxml(onode)

varserializer

=new

xmlserializer();

return

serializer.serializetostring(onode);}//

獲取指定節點的文字

function

getxmlnodetext(onode)

else}//

獲取指定節點的屬性值

function

getxmlnodeattribute(onode, attrname)

else

}ok  ie與ff 不再是問題,具體的操作方法如下:

var docum = loadxml("createinstal.xml");//載入乙個xml檔案

var root = docum.documentelement;//根節點

var nodelist = root.getelementsbytagname("items");

for(var i=0;ivar attr = getxmlnodeattribute(nodelist[0].childnodes[i], "descrption");//獲取這個節點的descrption屬性

if(attr != "undefined")//目的是相容ff瀏覽器

alert(attr);

這樣就能保證ie與ff的相容,(目前谷歌瀏覽器沒有辦法用這種方法相容,還待修改)

IE與firefox相容JS和CSS

這幾天都在除錯ie與火狐的相容,自己基本上在這方面沒什麼經驗,就是在網上蕩資料來解決問題,相容樣式 js物件 報表等等。直接貼 吧。function client ontreenodechecked e else var treenodefound false var checkedstate if...

操作XML檔案

1 操作xml檔案的類庫位於system.xml命名空間下 xmlnode 是乙個抽象類,代表乙個節點。其中document,element,attribute,text 等都是特定的節點型別。注意其實現的幾個介面。xmlnodelist是乙個比較有用的集合類 xmldocument 代表乙個dom...

Xml檔案操作

using system using system.text using system.xml class xmloperate private void readxmlfile string filename private void addelement xmldocument xmldocum...