国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

JS實現(xiàn)加載和讀取XML文件的方法詳解

2024-05-06 16:36:44
字體:
供稿:網(wǎng)友

本文實例講述了JS實現(xiàn)加載和讀取XML文件的方法。分享給大家供大家參考,具體如下:

有時在開發(fā)時用到 JS 加載和讀取XML文件的情況,寫下提供參考,這里主要是分兩步完成:

1. JS加載XML文件

步驟一般為(1),建立 XML DOM 對象;(2),設(shè)置加載方式,異步(推薦)或同步; (3)提供XML文件URL然后調(diào)用 load 方法;大致如下:

var xmlFileName="xxFile.xml";var xmlDoc='';if (window.ActiveXObject){ // IE  var activeXNameList=new Array("MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument","Microsoft.XMLDOM","MSXML.DOMDocument");  for(var h=0;h<activeXNameList.length;h++)  {    try{      xmlDoc=new ActiveXObject(activeXNameList[h]);    }catch(e){      continue;    }    if(xmlDoc) break;  }}else if(document.implementation && document.implementation.createDocument){ //非 IE  xmlDoc=document.implementation.createDocument("","",null);}else{  alert('can not create XML DOM object, update your browser please...');}xmlDoc.async=false; //同步,防止后面程序處理時遇到文件還沒加載完成出現(xiàn)的錯誤,故同步等XML文件加載完再做后面處理xmlDoc.load(xmlFileName); //加載XML

2. JS讀取XML文件節(jié)點

在加載XML文件之后就是讀取XML文件的節(jié)點了,可以使用 DOM 相應(yīng)的方法,對 MS IE 其它瀏覽器的讀法相近,例如:

例如下的XML文件結(jié)構(gòu):

<visiter>  <area areaid="shenzhen">    <areaname>shenzhen</areaname>    <user userid="001">      <name>shenzhenNBA</name>      <sex>man</sex>    </user>  </area>  <area areaid="shanghai">    <areaname>shenzhen</areaname>    <user userid="002">      <name>xiaoming</name>      <sex>woman</sex>    </user>    <user userid="003">      <name>zhangsan</name>      <sex>man</sex>    </user>  </area></visiter>
//JS讀取 XML 文件中的 area 節(jié)點的方式如下:var nodeList= xmlDoc.documentElement.getElementsByTagName("area"); // IEfor(var i=0;i<nodeList.length;i++){  //...遍歷操作...}var nodeList=xmlDoc.getElementsByTagName("area"); // 非IEfor(var i=0;i<nodeList.length;i++){  //...遍歷操作...}

還有部分讀取節(jié)點的方法:

//MS IEnode.text ;   //讀取node節(jié)點的文本值node.childNodes[i].text ;  //讀取 node 下的第 i 個[直接下一級]子節(jié)點的文本node.getAttribute("attributeName") ;   //讀取 node 節(jié)點的屬性名稱為 attributeName 的屬性值//還有其他的方法等, 可以網(wǎng)上搜索
//非 MS IEnode.nodeValue ;   //讀取node節(jié)點的文本值node.childNodes[i].nodeValue ;  //讀取 node 下的第 i 個[直接下一級]子節(jié)點的文本node.getAttribute("attributeName") ;   //讀取 node 節(jié)點的屬性名稱為 attributeName 的屬性值//還有其他的方法等, 可以網(wǎng)上搜索

希望本文所述對大家JavaScript程序設(shè)計有所幫助。


注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 比如县| 通江县| 洞口县| 饶平县| 黄梅县| 南澳县| 金门县| 丰镇市| 改则县| 山阳县| 桃源县| 彭山县| 平原县| 义马市| 宣化县| 平原县| 惠东县| 中西区| 广德县| 文昌市| 眉山市| 莱州市| 商城县| 昆山市| 恩平市| 丽水市| 乌拉特前旗| 华池县| 禹城市| 哈尔滨市| 建湖县| 威远县| 博客| 平阴县| 楚雄市| 山阴县| 中山市| 滁州市| 大同县| 女性| 安西县|