使用Javascript将XML解析为Html时出错

使用Javascript将XML解析为Html时出错,javascript,html,xml,Javascript,Html,Xml,我从XML文件中获取数据,并将其显示到HTML文件中XML文件包含节点的子节点 我的XML文件 <?xml version="1.0" encoding="utf-8"?> <projects> <project title="title1" subtitle="subtitle1"> <text>First Tesxt</text> <images> <image url="1/176

我从
XML
文件中获取数据,并将其显示到
HTML
文件中
XML
文件包含节点的子节点 我的XML文件

<?xml version="1.0" encoding="utf-8"?>
<projects>
<project title="title1" subtitle="subtitle1">
    <text>First Tesxt</text>
    <images>
        <image url="1/176.png"></image>
        <image url="1/178.png"></image>
        <image url="1/173.png"></image>
    </images>
</project>
<project title="title2" subtitle="subtitle2">
    <text>Second Test</text>
    <images>
        <image url="2/164.png"></image>
        <image url="2/175.png"></image>
        <image url="2/1767.png"></image>
    </images>
</project>

第一个Tesxt
第二次测试
HTML Javascript部分是

<html>
<head>
</head>
<body>
<script>
function loadXMLDoc(dname) 
{
    if (window.XMLHttpRequest)
    {
        xhttp=new XMLHttpRequest();
    }
    else
    {
        xhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhttp.open("GET",dname,false);
    xhttp.send();
    return xhttp.responseXML;
}
xmlDoc=loadXMLDoc("projects.xml");

var length = xmlDoc.getElementsByTagName("project").length;
for(i=0; i<length;i++)
{
    alert(xmlDoc.getElementsByTagName("project")[i].getAttribute("title"));
    alert(xmlDoc.getElementsByTagName("project")[i].getAttribute("subtitle"));
    alert(xmlDoc.getElementsByTagName("text")[i].childNodes[0].nodeValue);
    var lengthImage = xmlDoc.getElementsByTagName("images")[i].childNodes[0].length;
    for(var j=0; j<lengthImage; j++)
    {
        alert(xmlDoc.getElementsByTagName("image")[j].getAttribute("url"));
    }
}
</script>
</body>
</html>

函数loadXMLDoc(dname)
{
if(window.XMLHttpRequest)
{
xhttp=newXMLHttpRequest();
}
其他的
{
xhttp=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
xhttp.open(“GET”、dname、false);
xhttp.send();
返回xhttp.responseXML;
}
xmlDoc=loadXMLDoc(“projects.xml”);
var length=xmlDoc.getElementsByTagName(“项目”).length;

对于(i=0;i1-您的XML在最后一行没有


2-
var lengthImage=xmlDoc.getElementsByTagName(“图像”)[i].childNodes.length;//childNodes不需要“[0]”
xmlDoc.getElementsByTagName
搜索整个XML文档,因此在调用
xmlDoc.getElementsByTagName(“图像”)时
,查询不限于您当前的项目。那么在这种情况下我应该怎么做?@David