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