DOM解析器 - JavaScript无效

时间:2014-10-19 23:05:05

标签: javascript xml parsing dom

因此,通过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个。可能会发生什么?

1 个答案:

答案 0 :(得分:0)

您需要某种计数器或数组,否则它会解析但不会累积任何信息。

编辑:尝试类似

的内容
eventosXML.evento.length();