读取XML的JS脚本,没什么技术含量,主要用来读取一个类似于通讯录的XML文件。
1
var xmlHttp;2

3
//创建对象4

function createXMLHttpRequest()
{5

if (window.ActiveXObject)
{6
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");7

}else if (window.XMLHttpRequest)
{8
xmlHttp = new XMLHttpRequest("Msxml2.XMLHTTP.3.0");9
}10
}11

12
//发请请求13

function doSearch(url)
{14
createXMLHttpRequest();15
xmlHttp.onreadystatechange = handleStateChange;16
xmlHttp.open("GET",url,"true");17
xmlHttp.send(null);18
}19

20
//处理响应21

function handleStateChange()
{22

if (xmlHttp.readyState == 4)
{23

if (xmlHttp.status == 200)
{24
parseResults();25
}26
}27
}28

29
//取得URL30

function createURL(text)
{31
var url;32
url = "BranchAreaInfo.asp?AreaID=";33

if (text != "")
{34
url += escape(text);35
doSearch(url);36
}37
}38

39
//读取XML文件40

function parseResults()
{41

42
var results = xmlHttp.responseXML;43
var sDiv = "";44

45
var shop = "null";46
var name ="";47
var address = "";48
var phone = "";49
var fax = "";50

51
var hhitshop = results.getElementsByTagName("shop");52

for (var i = 0; i< hhitshop.length; i++)
{53
shop = hhitshop[i];54
name = shop.getElementsByTagName("name")[0].firstChild.nodeValue;55
phone = shop.getElementsByTagName("phone")[0].firstChild.nodeValue;56
fax = shop.getElementsByTagName("fax")[0].firstChild.nodeValue;57
address = shop.getElementsByTagName("address")[0].firstChild.nodeValue;58

59
sDiv += addDiv(name,photo,address,phone,fax);60
}61
document.getElementById("results").innerHTML = sDiv;62
}63

64
//输出格式化65

function addDiv(name,photo,address,phone,fax)
{66
var WDiv = "<div class='shop_list'>";67
WDiv += "<a href='#'><img alt='"+ name +"' src='"+ photo +"' /></a>";68
WDiv += "<dl>";69
WDiv += "<dt><a href='#'>名称</a></dt>";70
WDiv += "<dd>电话:"+ phone +"</dd>";71
WDiv += "<dd>传真:"+ fax +"</dd>";72
WDiv += "<dd>地址:"+ address +"</dd>";73
WDiv += "</dl>";74
WDiv += "</div>";75

76
return WDiv;77
}1
<?xml version="1.0" encoding="utf-8" ?>2
<hhitshop>3

4
<shop>5
<name>aa</name>6
<phone>01234567</phone>7
<fax>01234567</fax>8
<address>aaaaa</address>9
</shop>10

11
<shop>12
<name>bb</name>13
<phone>12345678</phone>14
<fax>12345678</fax>15
<address>bbbbb</address>16
</shop>17

18
<shop>19
<name>cc</name>20
<phone>23456789</phone>21
<fax>23456789</fax>22
<address>ccccc</address>23
</shop>24
</hhitshop>
浙公网安备 33010602011771号