青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

JavaScript解析XML的方法總結

最近一個項目中要用到樹形列表,本來是用mztree的,但數據用了xml,本來xml就是樹形目錄,就打算用JavaScript直接解析xml文件了,網上找到一些JavaScript操作xml的方法,在此做一個總結。

我的xml文件Login.xml如下:

<?xml version="1.0" encoding="utf-8" ?>

<Login>

<Character>

<C Text="熱血" Value="0"></C>

<C Text="弱氣" Value="1"></C>

<C Text="激情" Value="2"></C>

<C Text="冷靜" Value="3"></C>

<C Text="冷酷" Value="4"></C>

</Character>

<Weapon>

<W Text="光束劍" Value="0"></W>

<W Text="光束配刀" Value="1"></W>

</Weapon>

<EconomyProperty>

<P Text="平均型" Value="0"></P>

<P Text="重視攻擊" Value="1"></P>

<P Text="重視敏捷" Value="2"></P>

<P Text="重視防御" Value="3"></P>

<P Text="重視命中" Value="4"></P>

</EconomyProperty>

</Login>

現在我需要對這個xml文件的內容進行操作。

首先,我們需要加載這個xml文件,JavaScript中加載xml文件,是通過XMLDOM來進行的:

// 加載xml文檔

loadXML = function(xmlFile)

{

var xmlDoc;

if(window.ActiveXObject)

{

xmlDoc = new ActiveXObject('Microsoft.XMLDOM');

xmlDoc.async = false;

xmlDoc.load(xmlFile);

}

else if (document.implementation&&document.implementation.createDocument)

{

xmlDoc = document.implementation.createDocument('', '', null);

xmlDoc.load(xmlFile);

}

else

{

return null;

}

return xmlDoc;

}

xml文件對象出來了, 接下去我就要對這個文檔進行操作了。

比如說,我們現在需要得到節點Login/Weapon/W的第一個節點的屬性,那么我們可以如下進行:

// 首先對xml對象進行判斷

checkXMLDocObj = function(xmlFile)

{

var xmlDoc = loadXML(xmlFile);

if(xmlDoc==null)

{

alert('您的瀏覽器不支持xml文件讀取,于是本頁面禁止您的操作,推薦使用IE5.0以上可以解決此問題!');

window.location.href='/Index.aspx';

}

return xmlDoc;

}

// 然后開始獲取需要的Login/Weapon/W的第一個節點的屬性值

var xmlDoc = checkXMLDocObj('/EBS/XML/Login.xml');

var v = xmlDoc.getElementsByTagName('Login/Weapon/W')[0].childNodes.getAttribute('Text')

而我在我的程序中的寫法是這樣子的,當然我在程序中的寫法是已經應用到實際中的了.一并給出來,以供查看。

initializeSelect = function(oid, xPath)

{

var xmlDoc = checkXMLDocObj('/EBS/XML/Login.xml');

var n;

var l;

var e = $(oid);

if(e!=null)

{

n = xmlDoc.getElementsByTagName(xPath)[0].childNodes;

l = n.length;

for(var i=0; i<l; i++)

{

var option = document.createElement('option');

option.value = n[i].getAttribute('Value');

option.innerHTML = n[i].getAttribute('Text');

e.appendChild(option);

}

}

}

上面的訪問代碼中,我們是通過xmlDoc.getElementsByTagName(xPath)來進行的。

還可以通過xmlDoc.documentElement.childNodes(1)..childNodes(0).getAttribute('Text')進行訪問。

一些常用方法:

◆ xmlDoc.documentElement.childNodes(0).nodeName,可以得到這個節點的名稱;

◆ xmlDoc.documentElement.childNodes(0).nodeValue,可以得到這個節點的值. 這個值是來自于這樣子的xml格式:<a>b</b>, 于是可以得到b這個值;

◆ xmlDoc.documentElement.childNodes(0).hasChild,可以判斷是否有子節點。

根據我的經驗,最好是使用getElementsByTagName(xPath)的方法對節點進行訪問,因為這樣子可以直接通過xPath來定位節點,這樣子會有更好的性能。

   

posted on 2010-10-20 11:27 wrh 閱讀(211) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


導航

<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

統計

常用鏈接

留言簿(19)

隨筆檔案

文章檔案

收藏夾

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲第一黄网| 亚洲欧洲日本国产| 国产精品色婷婷久久58| 欧美亚洲一区二区在线观看| 亚洲国产婷婷香蕉久久久久久| 久久xxxx| 久久精品国产免费| 久久精品国产96久久久香蕉| 久久精品国产第一区二区三区最新章节 | 欧美人成免费网站| 欧美风情在线观看| 欧美亚洲不卡| 国内精品亚洲| 99国产精品99久久久久久| 日韩亚洲欧美一区二区三区| 中文在线一区| 久久视频一区| 亚洲欧洲美洲综合色网| 亚洲第一精品夜夜躁人人躁| 亚洲人成人77777线观看| 99精品国产99久久久久久福利| 午夜国产精品影院在线观看| 欧美+日本+国产+在线a∨观看| 最新日韩在线视频| 久久国产综合精品| 国产精品少妇自拍| 一本色道久久综合亚洲91| 久久综合色8888| 亚久久调教视频| 国产精品色午夜在线观看| 99精品国产高清一区二区| 欧美成人亚洲| 欧美+日本+国产+在线a∨观看| 国产人妖伪娘一区91| 午夜日韩电影| 亚洲私人影院| 欧美色大人视频| 国产精品久久综合| 亚洲国产经典视频| 国产精品久久久久一区| 99这里有精品| 在线一区二区三区四区| 国产精品私人影院| 久久精品1区| 麻豆av一区二区三区| 亚洲韩国精品一区| 日韩午夜av在线| 国产欧美va欧美va香蕉在| 久久精品理论片| 久久午夜精品| 亚洲一区区二区| 欧美一区二区三区啪啪| 伊人婷婷欧美激情| 国产亚洲a∨片在线观看| 欧美一区二区三区在线看| 欧美中文字幕在线| 亚洲人成网站色ww在线| 一区二区三区成人| 六月婷婷久久| 亚洲综合色在线| 久久久青草青青国产亚洲免观| 亚洲精选视频免费看| 久久se精品一区二区| 亚洲视频第一页| 蜜臀av国产精品久久久久| 亚洲欧美在线看| 欧美精品aa| 欧美一区二区三区在线| 欧美国产精品人人做人人爱| 亚洲欧美中文另类| 欧美久久99| 久久综合五月| 欧美日韩一二三四五区| 欧美va亚洲va日韩∨a综合色| 欧美日韩在线视频一区| 久久免费99精品久久久久久| 国产精品久久77777| 亚洲精品视频在线播放| 亚洲欧洲日产国产网站| 欧美激情精品久久久久久| 欧美激情在线免费观看| 亚洲日本理论电影| 欧美第一黄网免费网站| 欧美激情精品久久久久久大尺度| 亚洲福利av| 国产精品地址| 久久精品国产精品| 亚洲国产第一页| 亚洲一区成人| 一区二区在线看| 久久影音先锋| 亚洲性视频网址| 黄色成人免费网站| 欧美风情在线观看| 午夜伦理片一区| 亚洲欧洲日产国产网站| 欧美一区=区| 99视频在线观看一区三区| 国产精品国内视频| 美女视频一区免费观看| 中文精品99久久国产香蕉| 久久综合久久综合久久综合| 正在播放欧美一区| 亚洲第一久久影院| 国产女人18毛片水18精品| 欧美激情精品久久久久久| 久久久久中文| 欧美一区二区三区四区高清| 日韩视频在线观看免费| 欧美~级网站不卡| 免费中文日韩| 免费视频一区| 欧美高清不卡| 欧美电影电视剧在线观看| 久久日韩精品| 美女精品在线观看| 欧美成ee人免费视频| 免费成人在线视频网站| 欧美成人免费播放| 亚洲高清视频在线观看| 亚洲精品免费看| 中文av字幕一区| 亚洲欧美自拍偷拍| 久久久久久久久久久一区 | 亚洲欧美日韩成人高清在线一区| 亚洲二区精品| 99精品欧美一区二区蜜桃免费| 亚洲精品国精品久久99热一| 久久亚洲图片| 欧美精品一区二区三区在线播放 | 欧美1区免费| 亚洲电影成人| 亚洲视频欧美视频| 久久久精品国产一区二区三区 | 欧美高清视频一区二区| 欧美理论电影网| 国产欧美日韩亚洲精品| 最新高清无码专区| 欧美在线二区| 正在播放日韩| 欧美日韩的一区二区| 精品动漫3d一区二区三区免费 | 国产精品高潮粉嫩av| 激情另类综合| 久久精品视频免费观看| 99一区二区| 欧美高清视频在线观看| 欧美在线观看你懂的| 亚洲免费观看视频| 国产亚洲成精品久久| 日韩亚洲一区在线播放| 欧美夜福利tv在线| 一本色道久久综合亚洲精品高清 | 9l视频自拍蝌蚪9l视频成人| 国产综合色产在线精品| 亚洲精品中文字幕女同| 欧美亚洲尤物久久| 99国产精品99久久久久久| 鲁大师影院一区二区三区| 国产精品久久久久久久第一福利 | 女主播福利一区| 一区二区三区在线免费播放| 亚洲欧美日韩国产| 老鸭窝91久久精品色噜噜导演| 一本色道久久综合狠狠躁篇的优点 | 国产精品美女久久| 在线综合亚洲| 一本大道久久a久久综合婷婷| 亚洲人成网站色ww在线| 麻豆91精品| 亚洲图片欧洲图片日韩av| 日韩午夜一区| 欧美日韩国产综合一区二区| 日韩午夜一区| 亚洲欧美国产高清va在线播| 国产欧美日韩一级| 欧美成人高清视频| 久久夜色精品国产亚洲aⅴ| 亚洲国产综合在线| 亚洲尤物精选| 伊人久久亚洲影院| 欧美黄色小视频| 欧美日韩国产系列| 先锋影音国产一区| 久久噜噜噜精品国产亚洲综合| 亚洲狠狠丁香婷婷综合久久久| 亚洲精品国产精品国自产观看浪潮| 欧美成人一品| 久久影视三级福利片| 裸体一区二区| 国产九九精品视频| 麻豆国产精品777777在线| 欧美激情综合网| 久久国产精品久久精品国产| 欧美岛国激情| 噜噜噜91成人网| 国产欧美一级| 亚洲少妇中出一区| 在线视频精品| 欧美日韩视频专区在线播放|