为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 JavaScript 迭代 XML 文件并在 HTML 网页中显示数据?

如何使用 JavaScript 迭代 XML 文件并在 HTML 网页中显示数据?

潇湘沐 2023-10-30 10:49:26
我想迭代 XML 文件并在 HTML 网页上显示字段中的数据。目前,我的代码仅显示 XML 文件中的第一个条目。这是我当前的 HTML/JS 代码,它显示 XML 文件中的第一个条目。这是一个 html 文件:<script>displayCD(0);function displayCD(i) {    var xmlhttp = new XMLHttpRequest();    xmlhttp.onreadystatechange = function() {        if (this.readyState == 4 && this.status == 200) {            myFunction(this, i);        }    };    xmlhttp.open("GET", "data.xml", true);    xmlhttp.send();}function myFunction(xml, i) {    var xmlDoc = xml.responseXML;     x = xmlDoc.getElementsByTagName("contact");    document.getElementById("showCD").innerHTML =    "Name: " +    x[i].getElementsByTagName("name")[0].childNodes[0].nodeValue +    "<br>Email: " +    x[i].getElementsByTagName("email")[0].childNodes[0].nodeValue +    "<br>Phone: " +     x[i].getElementsByTagName("phone")[0].childNodes[0].nodeValue;}</script><div id='showCD'></div><br>这是我的 XML 代码,位于单独的文件 data.xml 中:<?xml version="1.0" encoding="UTF-8"?><entries>  <contact>    <name>a</name>    <email>b</email>    <phone>1234</phone>  </contact>  <contact>    <name>c</name>    <email>d</email>    <phone>5678</phone>  </contact></entries>电流输出:名称: 一个电子邮件:b电话:1234预期输出:名称: 一个电子邮件:b电话:1234姓名:c电子邮件:d电话:5678
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

你只需要循环x(它代表所有<contact>标签:


x = xmlDoc.getElementsByTagName("contact");


for (count = 0; count < x.length; count++) {

  document.getElementById("showCD").innerHTML +=

    "Name: " +

    x[count].getElementsByTagName("name")[0].childNodes[0].nodeValue +

    "<br>Email: " +

    x[count].getElementsByTagName("email")[0].childNodes[0].nodeValue +

    "<br>Phone: " + 

    x[count].getElementsByTagName("phone")[0].childNodes[0].nodeValue;

}

PS 正如有人在评论中提到的,使用 XSLT 可能是完成此任务的一种更简洁的方法,尽管如果您以前没有使用过它,会有一些学习曲线。


查看完整回答
反对 回复 2023-10-30
  • 1 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信