Javascript 将xml列表处理为HTML

Javascript 将xml列表处理为HTML,javascript,html,xml,Javascript,Html,Xml,我希望有人能帮助我,我是javaScript和XML新手,目前我正在尝试将XML产品列表处理为HTML页面中的ul列表。我想从xml中获取所有产品,并将它们显示为页面上的li元素。我已经设法编写代码来遍历xml,但它只返回xml列表中的最后一个产品。我怎样才能得到所有的产品?欢迎任何建议。到目前为止,我的代码是: <script> if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, S

我希望有人能帮助我,我是javaScript和XML新手,目前我正在尝试将XML产品列表处理为HTML页面中的ul列表。我想从xml中获取所有产品,并将它们显示为页面上的li元素。我已经设法编写代码来遍历xml,但它只返回xml列表中的最后一个产品。我怎样才能得到所有的产品?欢迎任何建议。到目前为止,我的代码是:

    <script>
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","product.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 


var x=xmlDoc.getElementsByTagName("product");
for (i=0;i<x.length;i++)
  { 
  liOpen=("<li><p>");
  title=(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
  divOpen=("</p><div class='prod-sq-img'>");
  image=(x[i].getElementsByTagName("imgfile")[0].childNodes[0].nodeValue);
  closingTags=("</div></li>");
  txt=  liOpen +  title + divOpen + image + closingTags ;
document.getElementById("ulList").innerHTML=txt;
  }


        </script>

if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
open(“GET”,“product.xml”,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var x=xmlDoc.getElementsByTagName(“产品”);
对于(i=0;i试试这个.)

     var liOpen=("<li><p>");
      var divOpen=("</p><div class='prod-sq-img'>");  
      var closingTags=("</div></li>");
    var txt;
    var image;
    var title;
var y=xmlDoc.getElementsByTagName("product");
    for (j=0;j<y.length;j++)        {
    var x=xmlDoc.getElementsByTagName("product");
    for (i=0;i<x.length;i++)
      { 
      title=(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
      image=(x[i].getElementsByTagName("imgfile")[0].childNodes[0].nodeValue);
      txt=  liOpen +  title + divOpen + image + closingTags ;
      }

    document.getElementById("ulList").innerHTML=txt;  }
var-liOpen=(“
  • ”); var divOpen=(“

    ”); var closingTags=(“
  • ”); var-txt; var图像; var标题; 变量y=xmlDoc.getElementsByTagName(“产品”);
    对于(j=0;j我认为更改以下行将解决问题

    document.getElementById("ulList").innerHTML+=txt;
    

    jQuery应该在这里有所帮助。您可以按照所描述的过程进行操作。无论如何,也会有很大帮助。您好,感谢您发布答案,不幸的是,代码仍然只生成xml列表中的最后一项;(仍然相同,基本上我有相同代码的其他版本,可以生成正确的输出(从xml获取所有产品)我需要将输出传递到div中,另一个代码是:document.write(“
      ”);var x=xmlDoc.getElementsByTagName(“产品”);for(I=0;I
      document.getElementById("ulList").innerHTML+=txt;