欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript XML操作 封裝類

 更新時間:2009年07月01日 01:01:59   作者:  
最近研究XML 用JavaScript寫了一個簡單的XML讀取的操作類發(fā)給大家分享一下 可兼容 IE 火狐 Safari Chrome 6月30日下午 新修改了一下
復(fù)制代碼 代碼如下:

function XMLObject()
{
this.isIE=true;
if (window.ActiveXObject){isIE=true;}else{isIE=false;}
var node_xml;
var xmlDoc;
if (isIE){
xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
}
else{
if (document.implementation && document.implementation.createDocument){
xmlDoc = document.implementation.createDocument("","",null);
}
}
xmlDoc.async = false;
xmlDoc.resolveExternals = false;
xmlDoc.validateOnParse = false;
xmlDoc.preserveWhiteSpace = true;
//從字符串創(chuàng)建XML對象(XML字符串)
this.LoadXMLForString=function(XMLStr)
{
if(isIE)
{
xmlDoc.loadXML(XMLStr);
}
else
{
var oParser = new DOMParser();
xmlDoc = oParser.parseFromString(XMLStr,"text/xml");
}
}
//從外部文件創(chuàng)建XML文件(文件路徑)
this.getXMLForURL=function(url)
{
//xmlDoc.load(url);
if (isIE){
xmlDoc.load(url);
}
else
{
xmlDoc = getXML(url).responseXML;
}
}
//獲得節(jié)點字節(jié)點
this.getXMLArray=function (name) {
var keys = name.split('.');
var node = xmlDoc.documentElement; // 得到根節(jié)點
var rtn = new Array();
var n = 0;
for(var i=0; i<keys.length; i++) {
var childs = node.childNodes; // 得到子節(jié)點
var key = keys[i];
for(var k=0; k<childs.length; k++) {
var child = childs[k];
if(child.nodeName == key) { // 判斷子節(jié)點是否符合
if(i == keys.length-1) {
rtn[n] = child;
n++;
} else {
node = child;
break;
}
}
}
}
node_xml=rtn;
return rtn;
}
//獲得節(jié)點內(nèi)容
this.getNodeValue=function(name)
{
return this.getValue(xmlDoc,name);
}
//根據(jù)節(jié)點獲得節(jié)點下子節(jié)點內(nèi)容
this.getValue=function(node, name)
{
var keys = name.split('.');
for(var i=0; i<keys.length; i++)
{
var childs = node.childNodes; // 得到子節(jié)點
var key = keys[i];
for(var k=0; k<childs.length; k++)
{
var child = childs[k];
if(child.nodeName == key)
{ // 判斷子節(jié)點是否符合
if(child.childNodes.length == 1)
{
// 如果沒有字節(jié)點,返回值
if(!window.ActiveXObject)
{
return childs[k].textContent;
}
else
{
return childs[k].text
}
}
else
{
// 還有子節(jié)點,繼續(xù)分析
node = child;
break;
}
}
}
}
return "";
}
function GetXMLHTTP()
{
var xmlhttp;
if (window.ActiveXObject){
try{xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch (e){xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
}else if (window.XMLHttpRequest)
{xmlhttp=new XMLHttpRequest();}
return xmlhttp;
}
function getXML(url){
var xmlHttp=GetXMLHTTP();
if (xmlHttp!=null){
xmlHttp.open("GET",url,false);
xmlHttp.send(null);
}else{
alert("Your browser does not support XMLHTTP.11");
return false;
}
return xmlHttp;
}
}

調(diào)用方法DEMO
復(fù)制代碼 代碼如下:

var strXML="<?xml version='1.0' encoding='utf-8'?><ekuy><user><name><cnname>小豬</cnname></name><age>27</age></user><user><name><cnname>小霞</cnname></name><age>26</age></user><user><name><cnname>小章</cnname></name><age>25</age></user></ekuy>";

var XMLObj=new XMLObject();
XMLObj.LoadXMLForString(strXML)
//XMLObj.getXMLForURL("test.xml");

var list = XMLObj.getXMLArray( 'user');//獲得節(jié)點

document.write(XMLObj.getNodeValue('ekuy.user.name.cnname'));//直接獲得節(jié)點內(nèi)容

//循環(huán)節(jié)點獲得節(jié)點下子節(jié)點內(nèi)容
for(var i=0; i<list.length; i++) {
var obj = list[i];
document.write(XMLObj.getValue(obj, 'name.cnname'));
document.write(XMLObj.getValue(obj, 'age'));
document.write('<br\/>');
}

呵呵 寫的不怎樣 大家見笑 非常簡單的功能

相關(guān)文章

  • JavaScript中高級語法??表達(dá)式用法示例詳解

    JavaScript中高級語法??表達(dá)式用法示例詳解

    這篇文章主要為大家介紹了JavaScript中高級語法??表達(dá)式用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 原生JS仿QQ閱讀點擊展開、收起效果

    原生JS仿QQ閱讀點擊展開、收起效果

    這篇文章主要為大家詳細(xì)介紹了原生JS仿QQ閱讀點擊展開、收起效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • JS在TextArea光標(biāo)位置插入文字并實現(xiàn)移動光標(biāo)到文字末尾

    JS在TextArea光標(biāo)位置插入文字并實現(xiàn)移動光標(biāo)到文字末尾

    JS在TextArea光標(biāo)位置插入文字+移動光標(biāo)到文字末尾,F(xiàn)irefox,Chrome,Safari以及Opera都有selectionStart和selectionEnd屬性,具體實現(xiàn)如下,感興趣的朋友可以參考下哈
    2013-06-06
  • JavaScript的遞歸之遞歸與循環(huán)示例介紹

    JavaScript的遞歸之遞歸與循環(huán)示例介紹

    對于不同類型的需要重復(fù)計算的問題,循環(huán)和遞歸兩種方法各有所長,能給出更直觀簡單的方案,下面為大家詳細(xì)的介紹下JavaScript的遞歸與循環(huán),感興趣的朋友可以了解下
    2013-08-08
  • 基于Flowplayer打造一款免費的WEB視頻播放器附源碼

    基于Flowplayer打造一款免費的WEB視頻播放器附源碼

    Flowplayer是一款免費的WEB視頻播放器。它支持播放flv、swf等流媒體和圖片文件,能夠非常流暢的播放視頻文件,支持自定義配置和擴展。下面本篇文章給大家介紹基于Flowplayer打造一款免費的WEB視頻播放器,需要的朋友可以參考下
    2015-09-09
  • JavaScript基于自定義函數(shù)判斷變量類型的實現(xiàn)方法

    JavaScript基于自定義函數(shù)判斷變量類型的實現(xiàn)方法

    這篇文章主要介紹了JavaScript基于自定義函數(shù)判斷變量類型的實現(xiàn)方法,結(jié)合實例形式分析了javascript判斷變量類型的自定義函數(shù)定義與使用方法,并針對不同瀏覽器給出了相關(guān)的分析與說明,需要的朋友可以參考下
    2016-11-11
  • js解決select下拉選不中問題

    js解決select下拉選不中問題

    當(dāng)事件mouseover中出現(xiàn)select下拉框時,select下拉是選不中的,下面有個不錯的解決方法,大家可以看看
    2014-10-10
  • three.js實現(xiàn)圍繞某物體旋轉(zhuǎn)

    three.js實現(xiàn)圍繞某物體旋轉(zhuǎn)

    本篇文章主要介紹了three.js實現(xiàn)圍繞某物體旋轉(zhuǎn)的示例代碼。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • layer.js open 隱藏滾動條的例子

    layer.js open 隱藏滾動條的例子

    今天小編就為大家分享一篇layer.js open 隱藏滾動條的例子,具有很好的參考價值,希望對大家有所幫助。 一起跟隨小編過來看看吧
    2019-09-09
  • JS短信驗證碼倒計時功能的實現(xiàn)(沒有驗證碼,只有倒計時)

    JS短信驗證碼倒計時功能的實現(xiàn)(沒有驗證碼,只有倒計時)

    最近接了個項目,其中有這樣的需求:當(dāng)用戶想要獲取驗證碼時,就點擊免費獲取驗證碼 ,然后開始倒計時,倒計時期間按鈕文字為剩余時間x秒,且不可按狀態(tài),倒計時結(jié)束后,按鈕更改為點擊重新發(fā)送,下面給大家分享js短信驗證碼倒計時實現(xiàn)代碼
    2016-10-10

最新評論