最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript XML操作 封裝類

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

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é)點內容
this.getNodeValue=function(name)
{
return this.getValue(xmlDoc,name);
}
//根據(jù)節(jié)點獲得節(jié)點下子節(jié)點內容
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;
}
}

調用方法DEMO
復制代碼 代碼如下:

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é)點內容

//循環(huán)節(jié)點獲得節(jié)點下子節(jié)點內容
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\/>');
}

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

相關文章

  • Paypal支付不完全指北

    Paypal支付不完全指北

    這篇文章主要介紹了Paypal支付不完全指北,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • php is_numberic函數(shù)造成的SQL注入漏洞

    php is_numberic函數(shù)造成的SQL注入漏洞

    這篇文章主要介紹了php is_numberic函數(shù)造成的SQL注入漏洞和解決辦法,需要的朋友可以參考下
    2014-03-03
  • 手把手教你用js插入HTML元素

    手把手教你用js插入HTML元素

    JavaScript提供了豐富的屬性操作方法,用于操作各種HTML元素,下面這篇文章主要給大家介紹了關于用js插入HTML元素的相關資料,文章通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-06-06
  • 分享JS表單驗證源碼(帶錯誤提示及密碼等級)

    分享JS表單驗證源碼(帶錯誤提示及密碼等級)

    這篇文章主要介紹了JS表單驗證源碼(帶錯誤提示及密碼等級),代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • 使用taro開發(fā)微信小程序遇到的坑總結

    使用taro開發(fā)微信小程序遇到的坑總結

    Taro,京東凹凸實驗室出品的適配多端的一個框架,這篇文章主要介紹了使用taro開發(fā)微信小程序遇到的坑總結,需要的朋友可以參考下
    2019-04-04
  • 利用原生JS實現(xiàn)懶加載lazyLoad的三種方法總結

    利用原生JS實現(xiàn)懶加載lazyLoad的三種方法總結

    加載頁面的時候,圖片一直都是流量大頭,針對圖片的性能方法也挺多的比如base64、雪碧圖等;懶加載也是其中一種,這篇文章主要給大家介紹了關于利用原生JS實現(xiàn)懶加載lazyLoad的三種方法,需要的朋友可以參考下
    2021-07-07
  • script標簽中的defer和async使用技巧說明

    script標簽中的defer和async使用技巧說明

    這篇文章主要介紹了script標簽中的defer和async使用技巧,包含他們的下載順序和執(zhí)行順序,以及使用場景需要的朋友可以參考下
    2023-02-02
  • javascript實現(xiàn)圖片輪換動作方法

    javascript實現(xiàn)圖片輪換動作方法

    這篇文章主要介紹了javascript實現(xiàn)圖片輪換動作方法,文章通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 詳解如何替換項目中的if-else和switch

    詳解如何替換項目中的if-else和switch

    這篇文章主要為大家介紹了詳解如何替換項目中的if-else和switch,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 解決bootstrap中下拉菜單點擊后不關閉的問題

    解決bootstrap中下拉菜單點擊后不關閉的問題

    今天小編就為大家分享一篇解決bootstrap中下拉菜單點擊后不關閉的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08

最新評論

叙永县| 安龙县| 叶城县| 收藏| 乳山市| 壤塘县| 保山市| 延川县| 黑龙江省| 佛山市| 平武县| 大田县| 安徽省| 疏附县| 常州市| 当涂县| 阿拉尔市| 尖扎县| 确山县| 和顺县| 清涧县| 集贤县| 喜德县| 九台市| 全州县| 浪卡子县| 福州市| 大渡口区| 洪泽县| 呼玛县| 冀州市| 宝山区| 合山市| 贵阳市| 延边| 凌源市| 扬中市| 彩票| 洛浦县| 邮箱| 凤翔县|