Javascript 要在html中以div显示xml文件数据吗
我有java脚本代码,我只想用html在div中显示xml数据,这样我就可以用div在html中显示xml数据的内容Javascript 要在html中以div显示xml文件数据吗,javascript,html,css,xml,Javascript,Html,Css,Xml,我有java脚本代码,我只想用html在div中显示xml数据,这样我就可以用div在html中显示xml数据的内容 if(window.XMLHttpRequest){//IE7+、Firefox、Chrome、Opera、Safari的代码 xmlhttp=新的XMLHttpRequest(); } else{//IE6、IE5的代码 xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”); } open(“GET”,“cd_catalog.xml”,fa
if(window.XMLHttpRequest){//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
open(“GET”,“cd_catalog.xml”,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
文件。填写(“”);
var x=xmlDoc.getElementsByTagName(“CD”);
对于(i=0;i
不要使用文档。编写
获取所需的div,如:
var the_div = document.getElementByI("showCD");
然后设置其内容(使用TextNode):
或者可能是xmlhttp.responseText
而不是.responseXML
。我不知道responseXML
是否是标准配置。试试这个
<html>
<head>
<script type="text/javascript">
function displayCD(){
alert(1);
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
xmlDoc = xmlhttp.responseXML;
console.log(xmlhttp.responseXML);
var tableData = "<table border='1'>";
var x = xmlDoc.getElementsByTagName("CD");
for (i = 0; i < x.length; i++) {
tableData += "<tr><td>"+x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue+"</td>";
tableData += "<td>"+x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue+"</td></tr>";
}
document.getElementById('showCD').innerHTML=tableData;
}
}
xmlhttp.open("GET", "cd_catalog.xml", false);
xmlhttp.send();
}
</script>
</head>
<body onload="displayCD(2)">
<div id='showCD'>
</div>
</body>
</html>
函数displayCD(){
警报(1);
if(window.XMLHttpRequest){//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
xmlDoc=xmlhttp.responseXML;
log(xmlhttp.responseXML);
var tableData=“”;
var x=xmlDoc.getElementsByTagName(“CD”);
对于(i=0;i
var xhr=window.XMLHttpRequest?新的XMLHttpRequest():新的ActiveXObject('Microsoft.XMLHTTP');
xhr.onreadystatechange=函数(){
if(this.readyState==4 | | this.status==200)
populateTable(this.responseXML);
};
open('GET','cd_catalog.xml',true);
xhr.send();
函数populateTable(xml){
var table=document.getElementById('cds');
var cds=xml.getElementsByTagName('CD');
对于(var i=0;i而言,它并不那么复杂
<body>
<div id="showCD"></div>
<script>
var divCDs = document.getElementById('showCD');
var List = xml.getElementsByTagName('CD');
for (var i = 0; i < List.length; i++) {
// dynamic DIV.
var new_div = document.createElement('div');
new_div.innerHTML = List[i].getElementsByTagName("TITLE") [0].childNodes[0].nodeValue;
divCDs.appendChild(new_div);
}
</script>
</body>
var divCDs=document.getElementById('showCD');
var List=xml.getElementsByTagName('CD');
对于(变量i=0;i
那么,你的问题是什么?谢谢你的代码,但现在它没有在html页面上显示xml数据。你能提供cd_catalog.xml值吗?我是说标记格式。它在live xml文件中?kalpeshkalpeshganekar@gmail.com美国哥伦比亚10.90 1985苏里亚suryakant@yahoo.com英国哥伦比亚广播公司记录9.901988年virajkulakrni@gmail.com USA RCA 9.90 1982请看一下。当我在编写代码时,我想使用div。你在这里没有使用div,该div应该在HTMLW上显示。我们不想使用div来满足你的需要。以上代码对你很有帮助
<html>
<head>
<script type="text/javascript">
function displayCD(){
alert(1);
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
xmlDoc = xmlhttp.responseXML;
console.log(xmlhttp.responseXML);
var tableData = "<table border='1'>";
var x = xmlDoc.getElementsByTagName("CD");
for (i = 0; i < x.length; i++) {
tableData += "<tr><td>"+x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue+"</td>";
tableData += "<td>"+x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue+"</td></tr>";
}
document.getElementById('showCD').innerHTML=tableData;
}
}
xmlhttp.open("GET", "cd_catalog.xml", false);
xmlhttp.send();
}
</script>
</head>
<body onload="displayCD(2)">
<div id='showCD'>
</div>
</body>
</html>
<div>
<table id="cds">
</table>
</div>
<script type="text/javascript">
var xhr= window.XMLHttpRequest? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
xhr.onreadystatechange= function() {
if (this.readyState===4 || this.status===200)
populateTable(this.responseXML);
};
xhr.open('GET', 'cd_catalog.xml', true);
xhr.send();
function populateTable(xml) {
var table= document.getElementById('cds');
var cds= xml.getElementsByTagName('CD');
for (var i= 0; i<cds.length; i++) {
var row= table.insertRow(-1);
function getProperty(name) {
var el= cds[i].getElementsByTagName(name)[0];
if (el.firstChild)
return el.firstChild.data;
return ''; // allow empty elements
}
function addCell(value) {
row.insertCell(-1).appendChild(document.createTextNode(value));
}
addCell(getProperty('ARTIST'));
addCell(getProperty('TITLE'));
}
};
</script>
<body>
<div id="showCD"></div>
<script>
var divCDs = document.getElementById('showCD');
var List = xml.getElementsByTagName('CD');
for (var i = 0; i < List.length; i++) {
// dynamic DIV.
var new_div = document.createElement('div');
new_div.innerHTML = List[i].getElementsByTagName("TITLE") [0].childNodes[0].nodeValue;
divCDs.appendChild(new_div);
}
</script>
</body>