javascript - 我如何划分一个XML元素列表并根据节点的日期用javascript解析它?

标签 javascript xml

现在写我正在使用以下 XML

<LIST>
 <DAY>

    <DATE>
     October 17th, 2019
    </DATE>

    <SONG>
        <SONGNAME>

        </SONGNAME>
        <ARTIST>

        </ARTIST>
        <LINK>

        </LINK>
        <ART>

        </ART>
    </SONG>

<SONG>
        <SONGNAME>

        </SONGNAME>
        <ARTIST>

        </ARTIST>
        <LINK>

        </LINK>
        <ART>

        </ART>
    </SONG>
<SONG>
        <SONGNAME>

        </SONGNAME>
        <ARTIST>

        </ARTIST>
        <LINK>

        </LINK>
        <ART>

        </ART>
    </SONG>
 </DAY>

</LIST>

基本上,我只想解析特定日期的项目并制作一个列表。我的想法是发布多首歌曲,我想在该日期的列表中获取所有歌曲。但是,似乎没有办法使用 xmlDoc.getElementsByTagName("DAY") 仅选​​择那一天的歌曲列表。有没有人建议我可以使用它?

是每天创建不同 XML 的解决方案吗?这确实不是最佳选择。

这就是我主要尝试做的 javascript。我知道这行不通,但我需要遵循此逻辑的东西。

function getSongList(xml) {
  var x, i, xmlDoc, txt;
  xmlDoc = xml.responseXML;
  txt = "";
  z = xmlDoc.getElementsByTagName("DAY");


  for (i = 0; i< z.length; i++) {
    txt += "<a href='#'' class='list-group-item'>";
    txt += z[i].childNodes[1].childNodes[0].nodeValue;
    txt += " - ";
    txt += z[i].childNodes[1].childNodes[1].nodeValue;
    txt += "</a>";
  }
  document.getElementById("list").innerHTML = txt;
}

最佳答案

要获取 getElementsByTagName 调用的子元素,您只需这样做

x = xmlDoc.getElementsByTagName("DAY");

其次是

z = x[0].getElementsByTagName("SONGNAME");

[0] 是必需的。

关于javascript - 我如何划分一个XML元素列表并根据节点的日期用javascript解析它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58439989/

相关文章:

javascript - 保存jqgrid树网格中扩展节点的状态

javascript - 没有requirejs如何使用redux?

Javascript 切换情况 1、情况 2 以及情况 1 和 2

android - 从 xml 文件中获取保存的 X 和 Y 数组点?

javascript - 如何使用 JavaScript 检测 AJAX 调用?

javascript - 使用 XmlService 将自定义字符串解析为 XML 文档

XML 解析器读取 channel 描述标签

android - 如何获取 Android XML 文件中的类/方法/属性信息?

c# - 如何在 XML 中表示\r 或\n 或\t 并使用 XmlDocument 正确读回它们

javascript - 剑道可排序问题