使用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