DOM Parser - JavaScript not working

DOM Parser - JavaScript not working

本文关键字:not working JavaScript Parser DOM      更新时间:2023-09-26

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

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

编辑:试试

eventosXML.evento.length();