因此,通过AJAX请求,我收到以下字符串:
<eventos>
<evento>
<local>
<cidade>Porto</cidade>
<pais>Portugal</pais>
<latitude>41.140082</latitude>
<longitude>-8.622347</longitude>
</local>
<artistas>
<artista>Future Islands</artista>
<artista>Celebration</artista>
</artistas>
</evento>
<evento>
<local>
<cidade>Porto</cidade>
<pais>Portugal</pais>
<latitude>41.140082</latitude>
<longitude>-8.622347</longitude>
</local>
<artistas>
<artista>Fujiya</artista>
<artista>Rainy Days Factory</artista>
<artista>O Manipulador</artista>
</artistas>
</evento>
</eventos>
然后我继续使用DOM Parser转换她:
var xmlDoc;
if (window.DOMParser) {
parser = new DOMParser();
xmlDoc = parser.parseFromString(response, "text/xml");
} else {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(response);
}
然而,当我尝试循环遍历其节点时,例如:
var eventos = xmlDoc.getElementsByTagName('evento');
alert(eventos.length);
它打印0虽然我在XML中有2个。可能会发生什么?
答案 0 :(得分:0)
您需要某种计数器或数组,否则它会解析但不会累积任何信息。
编辑:尝试类似
的内容eventosXML.evento.length();