天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JavaScript 解析讀取XML文檔 實(shí)例代碼

JavaScript解析讀取XML文件,主要就是加載并解析XML文件,然后就可以測(cè)試解析的XML文件的內(nèi)容,打印輸出來(lái)。
在線(xiàn)演示:http://demo.jb51.NET/js/2012/readxml/
注:測(cè)試的時(shí)候需要在網(wǎng)站中測(cè)試,iis或apache中,注意不要本地雙擊運(yùn)行測(cè)試
index.htm
復(fù)制代碼 代碼如下:
<html>
<head>
<title>腳本之家</title>
<script type="text/Javascript">
function show()
{
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if(xmlhttp!=null)
{
xmlhttp.open("GET","jb51.xml",false);
xmlhttp.send(null);
var responsexml=xmlhttp.responseXML;
var menus=responsexml.getElementsByTagName("Menus")[0];
var html="";
for(var i=0;i<menus.childNodes.length;i++)
{
var menu=menus.childNodes[i];
html=html+"<h1>"+menu.getAttribute("name")+"</h1><br>";
html=html+"<h2>"+menu.childNodes[0].getAttribute("name")+"</h2><br>";
for(var j=0;j<menu.childNodes[0].childNodes.length;j++)
{
var mi=menu.childNodes[0].childNodes[j];
var url=mi.getAttribute("url");
var txt=mi.childNodes[0].nodeValue;
html=html+" <a href=/""+url+"/">"+txt+"</a><br>";
}
}
document.getElementById("tb").innerHTML=html;
}
else
{
alert("你用的什么瀏覽器?");
}
}
</script>
</head>
<body onload="show()">
<div id="tb"></div>
</body>
</html>

xml文件
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<Menus>
<Menu id="0" name="首頁(yè)">
<MenuItemTitle sid="01" mid="0" name="常用選項(xiàng)">
<MenuItem mid="0" tid="01" url="Home.ASPx">后臺(tái)首頁(yè)</MenuItem>
<MenuItem mid="0" tid="01" url="Test.ASPx">測(cè)試頁(yè)</MenuItem>
</MenuItemTitle>
</Menu>
<Menu id="0" name="試試">
<MenuItemTitle sid="01" mid="0" name="常用選項(xiàng)">
<MenuItem mid="0" tid="01" url="Home.ASPx">后臺(tái)首頁(yè)</MenuItem>
<MenuItem mid="0" tid="01" url="Test.ASPx">測(cè)試頁(yè)</MenuItem>
</MenuItemTitle>
</Menu>
</Menus>

沒(méi)有用TABLE ,是因?yàn)轱@示倒了,所以設(shè)置了一個(gè)變量,然后顯示!值得今后借簽!

下面是另外一個(gè)例子:
編寫(xiě)了一個(gè)JavaScript的類(lèi)來(lái)實(shí)現(xiàn)讀取一個(gè)XML文件中的數(shù)據(jù),實(shí)現(xiàn)代碼如下所示:
復(fù)制代碼 代碼如下:
<script>
/**
* @author Shirdrn
*/
function XMLDoc(){}; // 定義一個(gè)XMLDoc類(lèi)
XMLDoc.prototype.xmlFile = ""; // xmlFile為XMLDoc的一個(gè)成員,是指“.xml”文件
XMLDoc.prototype.parseXMLDoc = function(){ // 加載解析XML文件的成員方法
var docParser;
if(window.ActiveXObject) { // IE瀏覽器支持
docParser = new ActiveXObject("Microsoft.XMLDOM");
docParser.async = "false";
docParser.load(this.xmlFile);
return docParser;
}
else if(window.DOMParser) { // Mozillia瀏覽器支持
docParser = new DOMParser()
return docParser.parseFromString(this.xmlFile,"text/xml");
}
else { // 如果不是IE和Mozillia瀏覽器則無(wú)法解析,返回false。
return false;
}
}
XMLDoc.prototype.print = function(readTagName,readTagCnt) { // 打印輸出讀取的XML文件的內(nèi)容信息
var xmlDoc = this.parseXMLDoc(); // 調(diào)用成員方法parseXMLDoc()加載解析XML文件
var users = xmlDoc.getElementsByTagName(readTagName); // 獲取指定標(biāo)簽名稱(chēng)的數(shù)據(jù)的一個(gè)數(shù)組users
for(var i=0 ; i<users.length ; i++) { // 雙重循環(huán)迭代輸出
document.write("<B>第" + (i+1) + "條記錄信息:</B><BR>");
for(var j=0 ; j<readTagCnt ; j++) {
var tagname = users[i].childNodes[j].tagName;
var textvalue = users[i].childNodes[j].text;
document.write(tagname + " = " + textvalue + ".<BR>");
}
}
}

var xmlDoc = new XMLDoc(); // 創(chuàng)建一個(gè)XMLDoc了IDE對(duì)象實(shí)例
xmlDoc.xmlFile = "user.xml"; // 設(shè)置對(duì)象實(shí)例的成員變量的數(shù)據(jù)
xmlDoc.print("user",6); // 打印輸出
</script>

其中,我們測(cè)試使用的XML文件user.xml的內(nèi)容如下所示:
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8" ?>
- <users>
- <user>
<id>22240319830000</id>
<name>Shirdrn</name>
<age>26</age>
<gender>男</gender>
<email>[email protected]</email>
<phone>13843140000</phone>
</user>
- <user>
<id>22040319860001</id>
<name>Linda</name>
<age>23</age>
<gender>女</gender>
<email>[email protected]</email>
<phone>13843140002</phone>
</user>
</users>

運(yùn)行測(cè)試程序,解析結(jié)果輸出如下所示:
復(fù)制代碼 代碼如下:
第1條記錄信息:
id = 22240319830000.
name = Shirdrn.
age = 26.
gender = 男.
email = [email protected].
phone = 13843140000.
第2條記錄信息:
id = 22040319860001.
name = Linda.
age = 23.
gender = 女.
email = [email protected].
phone = 13843140002.

在解析XML文件的時(shí)候,要保證對(duì)不同類(lèi)型的瀏覽器提供支持,這里主要對(duì)IE和Mozillia瀏覽器,否則可能無(wú)法解析。
關(guān)于其它的說(shuō)明,可以參看程序中的注釋。

JavaScript技術(shù)JavaScript 解析讀取XML文檔 實(shí)例代碼,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 影音先锋色av男人资源网 | 麻豆国产精品va在线观看约 | 国产午夜一级鲁丝片 | SM脚奴调教丨踩踏贱奴 | 男人舔女人的阴部黄色骚虎视频 | 出租屋自拍贵在真实15P | 午夜伦理在线观看 | 国产精品亚洲在钱视频 | 天天日免费观看视频一1 | 国偷自产视频一区二区久 | 黄页网站免费视频大全9 | 小sao货水好多真紧h的视频 | 中文无码字慕在线观看 | 蜜芽TV影院在线视频 | av在线观看网站免费 | 西西人体一级裸片 | 亚洲精品久久久久无码AV片软件 | no视频在线观看 | 中国少妇内射XXXX狠干 | 最近的2019中文字幕国语版 | 日本国产精品无码一区免费看 | 成人免费一区二区无码视频 | 嫩草国产精品99国产精品 | 日韩人妻无码精品-专区 | 艳鉧动漫1~6全集观看在线 | 嘿嘿视频在线观看 成人 | 国产精品国产三级国AV在线观看 | 小小水蜜桃视频高清在线播放 | 欧美亚洲曰韩一本道 | 三级黄色片免费观看 | 成人久久欧美日韩一区二区三区 | 色欲AV精品人妻一区二区麻豆 | 青青草在线视频 | 欧美黑白配性xxxxx | 日本午夜福利无码高清 | 伊人久久大香线蕉综合电影网 | 啊轻点啊再深点视频免费 | 99久久久无码国产精品免费人妻 | 乐乐亚洲精品综合影院 | 97碰成视频免费 | 成人免费视频无遮挡在线看 |