日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

JS跨瀏覽器解析XML應用過程詳解

瀏覽:290日期:2024-04-15 16:34:02

首先介紹簡單的理論:

對于XML,我們可以理解它是一種樹結構,它包含根,元素,屬性,文本等內(nèi)容。不同瀏覽器都有自己的解析器,把XML讀入內(nèi)存,并把它轉換為可被 JavaScript 訪問的 XML DOM 對象。

微軟的 XML 解析器與其他瀏覽器中的解析器是有差異的。微軟的解析器支持對 XML 文件和 XML 字符串(文本)的加載,而其他瀏覽器使用單獨的解析器。不過,所有的解析器都含有遍歷 XML 樹、訪問、插入及刪除節(jié)點的函數(shù)。

如果你使用的是一個本地文件或者網(wǎng)絡文件且該文件在是在本服務器,那么對于IE和其他瀏覽器來說都可以通過load(uRl),loadXML(strXML)來創(chuàng)建Xdom對象。但是對于文本,除IE外需要一個單獨的解析器來處理。

以下函數(shù)用于根據(jù)不同的瀏覽器來創(chuàng)建Xdom對象:

function loadXMLDoc() { var xmlDoc; // code for IE if (window.ActiveXObject){ xmlDoc=new ActiveXObject('Microsoft.XMLDOM');//創(chuàng)建空的微軟 XML 文檔對象 //xmlDoc.load(uRl); //loadXML() 方法用于加載字符串(文本),而 load() 用于加載文件 xmlDoc.loadXML(xmlstr); } // code for Mozilla, Firefox, Opera, etc. else if(document.implementation&&document.implementation.createDocument){ xmlDoc=document.implementation.createDocument('','',null); //xmlDoc.load(uRl); //Internet Explorer 使用 loadXML() 方法來解析 XML 字符串,而其他瀏覽器使用 DOMParser 對象 parser=new DOMParser(); xmlDoc=parser.parseFromString(txt,'text/xml'); }else{ alert(’Your browser cannot handle this script’); } //關閉異步加載,這樣可確保在文檔完整加載之前,解析器不會繼續(xù)執(zhí)行腳本 xmlDoc.async=false; createTable(xmlDoc); }

方法內(nèi)有具體的解析,我不再??攏?雜誚馕齙哪諶藎?治?址??臀謀玖街幀?/p>

首先定義一個字符串:

var xmlstr='<?xml version='1.0' encoding='UTF-8'?><goodss><goods id='1'><name>數(shù)碼相機</name><price>3206(元)</price></goods><goods id='2'><name>聯(lián)想筆記本電腦</name><price>3206(元)</price></goods></goodss>';

然后定義一個goods.xml文件:

文件內(nèi)容為:

<?xml version='1.0' encoding='UTF-8'?> <goodss> <goods id='1'> <name>數(shù)碼相機</name> <price>3206(元)</price> </goods> <goods id='2'> <name>聯(lián)想筆記本電腦</name> <price>3206(元)</price> </goods> </goodss>

通過取消和注釋方式來選擇是文本還是字符串。

這個方法可以是通用的,下面再來解析這個Xdom對象:

function createTable(xmldoc){ var goodss=xmldoc.getElementsByTagName('goods'); for(var i=0;i<goodss.length;i++){ var g=goodss[i]; if (g.nodeType==1){ var name=g.getElementsByTagName('name')[0].childNodes[0].nodeValue; var price=g.getElementsByTagName('price')[0].childNodes[0].nodeValue; var id=g.getAttribute('id'); document.write(id + '-->' + name + '-->' + price); document.write('<br />'); } } }

對于使用到的函數(shù)和屬性我們來解析一下:

/* 一些典型的 DOM 屬性 x.nodeName - x 的名稱 x.nodeValue - x 的值 x.parentNode - x 的父節(jié)點 x.childNodes - x 的子節(jié)點 x.attributes - x 的屬性節(jié)點 x.firstChild - x 的第一個子節(jié)點,等同于childNodes[0] x.lastChild - x 的最后一個子節(jié)點 x.data - x 的內(nèi)容,等同nodeValue x.length - x 的長度 x.nodeType - x 的類型:1,元素,2,屬性,3,文本,4,注釋,5,文檔 在上面的列表中,x 是一個節(jié)點對象 XML DOM 方法 x.getElementsByTagName(name) - 獲取帶有指定標簽名稱的所有元素,返回的是數(shù)組 x.getAttribute(name) - 返回屬性的值 */ /*出于安全方面的原因,現(xiàn)代的瀏覽器不允許跨域的訪問。 這意味著,網(wǎng)頁以及它試圖加載的 XML 文件,都必須位于相同的服務器上。 否則,xmlDoc.load() 將產(chǎn)生錯誤 'Access is denied'。 */

早頁面增加一個按鈕來調(diào)用函數(shù):

<input type='button' name='bxml' value='Read' onclick='loadXMLDoc()' />

頁面將會輸出XMl內(nèi)節(jié)點的屬性和子節(jié)點的內(nèi)容。對于一般應用來說,我覺得上面內(nèi)容已經(jīng)足夠了。我會在之后補充一些其他操作。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久亚洲资源中文字| 亚洲高清二区| 91九色精品国产一区二区| 中文另类视频| 亚洲男女av一区二区| 中文字幕乱码亚洲无线精品一区| 中文字幕中文字幕精品| 日本精品久久| 麻豆一区二区在线| 欧洲亚洲一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 日韩成人精品一区二区三区| 国产欧美日韩视频在线 | 久久99青青| 国产suv精品一区| 天堂日韩电影| 蜜臀久久99精品久久久久久9 | 精品亚洲精品| 欧美在线资源| 欧美视频精品全部免费观看| 成人在线丰满少妇av| 最新国产拍偷乱拍精品| 日本亚洲欧美天堂免费| 98精品视频| 中文字幕日韩欧美精品高清在线| 国产精品1区| 日韩精品看片| 日韩精品久久理论片| www.51av欧美视频| 蜜桃视频第一区免费观看| 国产精品天天看天天狠| 久久九九精品| 欧美日韩99| 欧美成人基地| 日韩avvvv在线播放| 日韩精品不卡一区二区| 免费在线观看精品| 成人三级高清视频在线看| 老鸭窝亚洲一区二区三区| 欧美国产极品| 免费一级片91| 成人午夜亚洲| 中文一区一区三区免费在线观| 免费在线亚洲欧美| 鲁大师影院一区二区三区| 国产精品yjizz视频网| 日本国产一区| 国产亚洲福利| 国产不卡人人| 国产精品伦一区二区| 国产精品美女| 天堂√中文最新版在线| 日本视频一区二区| 99久久夜色精品国产亚洲1000部| 国产剧情一区| 免费国产亚洲视频| 国产高清不卡| 欧美一区二区三区久久| 伊人久久亚洲热| 日韩欧美一区二区三区在线视频| 91嫩草精品| 99日韩精品| 久久三级视频| 国产一区二区三区探花| 久久精品99国产精品| 日韩专区欧美专区| 久久精品国产68国产精品亚洲| 红杏一区二区三区| 国产精品欧美在线观看| 亚洲久久在线| 在线一区二区三区视频| 99在线观看免费视频精品观看| 精品免费视频| 国产精品亚洲欧美日韩一区在线| 老司机精品久久| 亚洲国产日韩欧美在线| 欧洲一区二区三区精品| 日韩成人精品一区二区| 久久亚洲精精品中文字幕| 欧美一区自拍| 91精品丝袜国产高跟在线| 亚洲有吗中文字幕| 美女精品在线| 六月婷婷一区| 男女性色大片免费观看一区二区| 日韩一级欧洲| 亚洲女人av| 欧美精品激情| 久久国产精品毛片| 亚洲精品欧美| 欧美亚洲专区| 国产精品入口久久| 狂野欧美性猛交xxxx| 久久av综合| 久久中文字幕导航| 精品视频一二| 福利一区和二区| 日韩精品永久网址| 亚洲国产影院| 性色av一区二区怡红| 久久午夜视频| 日韩二区在线观看| 欧美日韩夜夜| 韩日一区二区| 亚洲a一区二区三区| 久久亚洲国产| 噜噜噜躁狠狠躁狠狠精品视频 | 狠狠色狠狠色综合日日tαg| 91精品1区| 免费国产亚洲视频| 国产毛片精品| 国产精品成人一区二区不卡| 国产69精品久久| 欧美国产91| 婷婷视频一区二区三区| 欧美一级二区| 精品五月天堂| 99久久视频| 综合干狼人综合首页| 久久99性xxx老妇胖精品| 日韩高清成人| 欧美专区在线| 欧美激情麻豆| 欧美中文一区二区| 日韩高清在线观看一区二区| 国产一区二区三区四区五区传媒| 精品亚洲美女网站| 午夜在线视频观看日韩17c| 欧美一区久久| 久久青草久久| 亚洲人成亚洲精品| 麻豆91精品91久久久的内涵| 欧美高清不卡| 国产精品亚洲产品| 亚洲午夜一级| 国产日韩一区| 欧美精品一二| 久久av影视| 亚洲一区免费| 久久久久伊人| 免费欧美在线视频| 国产白浆在线免费观看| 亚洲aa在线| 久久久人人人| 国产精品久久久久久妇女| 日韩理论片av| 日本视频在线一区| 99国产精品免费视频观看| 欧美日韩18| 在线 亚洲欧美在线综合一区| 国产精品传媒麻豆hd| 欧美在线亚洲综合一区| 另类欧美日韩国产在线| 国产精品美女久久久| 久久精品国产网站| 热久久久久久久| 99精品综合| 国产精品久久国产愉拍| 免播放器亚洲| 日韩国产欧美| 少妇高潮一区二区三区99| 色老板在线视频一区二区| 91成人精品观看| 亚洲一区不卡| 亚洲h色精品| 日韩av在线播放网址| 日韩国产欧美在线视频| 亚洲成人三区| 日韩欧美看国产| 麻豆精品一区二区综合av| 免费日韩一区二区| 久久美女精品| 国产精品成人一区二区不卡| 青青草国产成人99久久| 欧美综合二区| 欧美日韩色图| 97在线精品| 美腿丝袜亚洲一区| 亚洲欧美不卡| 午夜日本精品| 久久亚洲成人| 视频福利一区| 人在线成免费视频| 精品一区91| 精品伊人久久久| 国产精品密蕾丝视频下载| 日本欧美一区二区| 亚洲日本在线观看视频| 免播放器亚洲| 亚洲免费网址| 欧美日韩国产一区精品一区| 成人看片网站| 四虎国产精品免费观看| 国产精品久久久久久模特| 日韩国产91| 日本少妇一区二区| 欧美影院视频| 久久精品72免费观看| 国产欧美激情| 久久99精品久久久久久园产越南|