最近專案中用到了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...