Javascript 要在html中以div显示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

我有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”,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>