<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>处理XML</title>
<script type="text/javascript" language="javascript">
var xmlHttp;
function createXMLHttpRequest()
{
//在IE下创建XMLHttpRequest对象
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(oc)
{
xmlHttp = null;
}
}
//在Mozilla和Safari等非IE浏览器下创建XMLHTTPRequest对象
if(!xmlHttp && typeof XMLHttpRequest != "undefined")
{
xmlHttp = new XMLHttpRequest();
}
return xmlHttp;
}
//发生请求
function startRequest()
{
createXMLHttpRequest();
xmlHttp.onreadystatechange = parseMailBox;
xmlHttp.open("GET", "data.xml", true);
xmlHttp.send(null);
}
function parseMailBox()
{
if (xmlHttp.readyState == 4)
{
//判断对象状态
if (xmlHttp.status == 200)
{
var mailBoxXML = xmlHttp.responseXML;
//获取所有信件
var mails = mailBoxXML.getElementsByTagName('mail');
var mailStr = "";
}
for (var i = 0; i < mails.length; i++)
{
var to = mails[i].getElementsByTagName("to")[0].firstChild.data;
var from =mails[i].getElementsByTagName("from")[0].firstChild.data;
var heading =mails[i].getElementsByTagName("heading")[0].firstChild.data;
var body =mails[i].getElementsByTagName("body")[0].firstChild.data;
//为信件添加附属信息
mailStr += "收信人:" + to + "<br>";
mailStr += "发信人:" + from + "<br>";
mailStr += "标题:" + heading + "<br>";
mailStr += "正文:<br>" + body + "<br><br>";
}
document.getElementById("message").innerHTML = mailStr;
}
}
</script>
</head>
<body>
<form action="#">
<p><button οnclick="startRequest()">查看信息</button></p>
<div id="message"></div>
</form>
</body>
</html>
data.xml文件如下
<?xml version="1.0" encoding="gb2312" ?>
<mailbox>
<mail>
<to>简凝</to>
<from>江南</from>
<heading>好久不见!</heading>
<body>好久不见,最近还好吗?</body>
</mail>
<mail>
<to>江南</to>
<from>简凝</from>
<heading>周末有空么?</heading>
<body>周末有空么?一起吃饭吧!</body>
</mail>
</mailbox>