我只是试图在JS中使用HttpXMLRequest对象,并且我有一个基本循环从XML文件加载名称和年龄并将其引发到表中。如果每个兄弟姐妹都具有相同的值,那么它会正常加载,但是如果其中一个元素从兄弟中丢失,它就会停止而不是跳过它。这里有一些代码。HttpXMLRequest被卡住
的HTML -
(The rest of the XML parser and DTD, html, body etc is up here)
<script>
var x=xmlDoc.getElementsByTagName("person");
document.write("<table border='1'>");
for (i=0;i<x.length;i++)
{
var name = x[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;
var age = x[i].getElementsByTagName("age")[0].childNodes[0].nodeValue;
document.write("<tr>");
document.write("<td>"+name+"</td>");
document.write("<td>"+age+"</td>");
document.write("</tr>");
}
document.write("</table>");
</script>
的XML -
(The DTD and stuff it up here)
<people>
<person>
<name>Jim</name>
<age>20</age>
</person>
<person>
<name>Bob</name>
</person>
<person>
<name>Tom</name>
<age>20</age>
</person>
<person>
<name>James</name>
<age>20</age>
</person>
<person>
<name>Richie</name>
<age>20</age>
</person>
</people>
从这个例子中,HTML会写一旦获得鲍勃后停下来,我认为需要有一个try/catch或者如果在那里为每个名字和年龄,但我似乎无法放置它,因此它的工作原理。任何人有任何想法?
我试过搜索,但我不知道这个问题被称为什么,并描述它没有任何东西。
只是简单地添加“<age />
”或<age></age>
“不是一个选项,最终我会用大量的XML文件。除非我需要写一些会自动添加它的东西,如果它不存在的话,我想这是可以接受的。
Cheers Hombries。
你没有检查控制台是否有错误信息?它会给你的信息。 – epascarello