-
[原]用JS读取XML的例子
2006-03-20
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://forest.blogbus.com/logs/2100957.html
刚开始学XMLHTTP,试写的一个读取XML的JS脚本,没什么技术含量,主要用来读取一个类似于通讯录的XML文件。
------------------------------js-----------------------------------
<script type="text/javascript">
var xmlHttp;//创建对象
function createXMLHttpRequest(){
if (window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if (window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest("Msxml2.XMLHTTP.3.0");
}
}//发请请求
function doSearch(url){
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET",url,"true");
xmlHttp.send(null);
}//处理响应
function handleStateChange(){
if (xmlHttp.readyState == 4){
if (xmlHttp.status == 200){
parseResults();
}
}
}//取得URL
function createURL(text){
var url;
url = "BranchAreaInfo.asp?AreaID=";
if (text != ""){
url += escape(text);
doSearch(url);
}
}//读取XML文件
function parseResults(){var results = xmlHttp.responseXML;
var sDiv = "";var shop = "null";
var name ="";
var address = "";
var phone = "";
var fax = "";var hhitshop = results.getElementsByTagName("shop");
for (var i = 0; i< hhitshop.length; i++){
shop = hhitshop[i];
name = shop.getElementsByTagName("name")[0].firstChild.nodeValue;
phone = shop.getElementsByTagName("phone")[0].firstChild.nodeValue;
fax = shop.getElementsByTagName("fax")[0].firstChild.nodeValue;
address = shop.getElementsByTagName("address")[0].firstChild.nodeValue;sDiv += addDiv(name,photo,address,phone,fax);
}
document.getElementById("results").innerHTML = sDiv;
}//输出格式化
function addDiv(name,photo,address,phone,fax){
var WDiv = "<div class='shop_list'>";
WDiv += "<a href='#'><img alt='"+ name +"' src='"+ photo +"' /></a>";
WDiv += "<dl>";
WDiv += "<dt><a href='#'>名称</a></dt>";
WDiv += "<dd>电话:"+ phone +"</dd>";
WDiv += "<dd>传真:"+ fax +"</dd>";
WDiv += "<dd>地址:"+ address +"</dd>";
WDiv += "</dl>";
WDiv += "</div>";
return WDiv;
}
</script>
---------------------------------------------------------------------------------------------XML------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<hhitshop><shop>
<name>aa</name>
<phone>01234567</phone>
<fax>01234567</fax>
<address>aaaaa</address>
</shop><shop>
<name>bb</name>
<phone>12345678</phone>
<fax>12345678</fax>
<address>bbbbb</address>
</shop><shop>
<name>cc</name>
<phone>23456789</phone>
<fax>23456789</fax>
<address>ccccc</address>
</shop>
</hhitshop>
-----------------------------------------------------------------随机文章:
[原]无刷新读取ASP文件 2006-03-21[原]九宫格生成脚本 -- GNineBox v2.1 2007-01-08[原]九宫格生成脚本 -- GNineBox v2.0 2006-12-30[原]GNineBox v1.0发布 2006-12-08[原]显示或隐藏层的JS函数 2006-05-29
收藏到:Del.icio.us





