不能正确读XML文件,请教
- HTML code
<!--test.html--><html><head><script type="text/javascript">var xmlhttp;function loadXMLDoc(url){ xmlhttp=null; if (window.XMLHttpRequest) {// code for IE7, Firefox, Mozilla, etc. xmlhttp=new XMLHttpRequest(); } else if (window.ActiveXObject) {// code for IE5, IE6 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } if (xmlhttp!=null) { xmlhttp.onreadystatechange=onResponse; xmlhttp.open("GET",url,true); xmlhttp.send(null); } else { alert("Your browser does not support XMLHTTP."); }}function onResponse(){ if(xmlhttp.readyState!=4) return; if(xmlhttp.status!=200) { alert("Problem retrieving XML data"); return; } txt="<table border='1'>"; x=xmlhttp.responseXML.documentElement.getElementsByTagName("CD"); for (i=0;i<x.length;i++) { txt=txt + "<tr>"; xx=x[i].getElementsByTagName("TITLE"); { try { txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; } catch (er) { txt=txt + "<td> </td>"; } } xx=x[i].getElementsByTagName("ARTIST"); { try { txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; } catch (er) { txt=txt + "<td> </td>"; } } txt=txt + "</tr>"; } txt=txt + "</table>"; document.getElementById('copy').innerHTML=txt;}</script></head><body> <div id="copy"> <button onclick="loadXMLDoc('cd_catalog.xml')">Get CD info</button><!--明明在这载入了,为什么读不出来数据?--> </div></body></html>- XML code
<!--cd_catalog.xml--><?xml version="1.0" encoding="ISO-8859-1"?><!-- Edited with XML Spy v2007 (http://www.altova.com) --><CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> <CD> <TITLE>Hide your heart</TITLE> <ARTIST>Bonnie Tyler</ARTIST> <COUNTRY>UK</COUNTRY> <COMPANY>CBS Records</COMPANY> <PRICE>9.90</PRICE> <YEAR>1988</YEAR> </CD></CATALOG>
test.html文件会生成一个按钮,预期是点击按钮,然后生成一个表格,但是现在生成不了,为什么?
[解决办法]
按F12,打开IE的开发人员工具,然后查看脚本是否出错误了。
[解决办法]
function createXMLHttpRequest() {
var xmlHttp;
try
{
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
"MSXML2.XMLHTTP.7.0",
"MSXML2.XMLHTTP.8.0",
"MSXML2.XMLHTTP.9.0",
"MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP");
for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
{
try
{
xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
}
catch (e) {}
}
}
if (!xmlHttp)
alert("Error creating the XMLHttpRequest object.");
else
XMLHttpReq=xmlHttp;
}
function sendRequest(url){
createXMLHttpRequest();
XMLHttpReq.open("Get", url, true);
XMLHttpReq.onreadystatechange =function(){
processResponse();
}
XMLHttpReq.send(null);
}
function processResponse() {
if (XMLHttpReq.readyState == 4) {
if (XMLHttpReq.status == 200) {
updateServer();
} else {
alert("");
}
}
}
function updateServer() {
var HTML='';
var num='';
var str='';
var xml = XMLHttpReq.responseXML;
var res=xml.getElementsByTagName("res");
var temp;
HTML+='<table width="90%" align="right" class="TablePanel" border="0">'+
'<tr>';
var areaId='';
for(i=0;i<res.length;){
var stud=res[i];
areaId = stud.getElementsByTagName("areaId")[0].firstChild.data;
var billNum = stud.getElementsByTagName("billNum")[0].firstChild.data;
var ming = stud.getElementsByTagName("ming")[0].firstChild.data;
var rname = stud.getElementsByTagName("rname")[0].firstChild.data;
var count = stud.getElementsByTagName("count")[0].firstChild.data;
HTML+='<td><input type="checkbox" name="billno" onclick="check(this);" id="billno" value="'+billNum+'" /></td>';
HTML+='<td><font style="font-size:14px;">'+ billNum +'</font></td>';
HTML+='<td align="left"><font style="font-size:14px;">'+ count+' </font></td>';
HTML+='<td colspan="4"><font style="font-size:14px;">'+ rname;
HTML+= ming +'</font></td>';
HTML+='</tr><tr>';
i++;
}