gpt4 book ai didi

javascript - 当 XML 内容作为 XML 文件接收时,使用 Ajax 和 Javascript 加载 XML 数据

转载 作者:行者123 更新时间:2023-12-03 10:12:27 25 4
gpt4 key购买 nike

我尝试通过首先获取 xml 文件的内容并将其存储在 XML DOM 中来显示 xml 文件中的数据。一旦 DOM 对象被创建,它就会被解析。我使用了 for 循环以便从父节点的每个子节点获取数据,但不知何故只显示第二个节点的数据。

这是错误所在的代码:

    xmlhttp.open("GET","company.xml", false); //sets the request for calling company.xml
xmlhttp.send(); //sends the request

xmlDoc = xmlhttp.responseXML; //sets and returns the content as XML DOM

//parsing the DOM object

var employeeCount = xmlDoc.getElementsByTagName("Employee");

for(i=0; i<employeeCount.length; i++)
{
document.getElementById("firstName").innerHTML = xmlDoc.getElementsByTagName("FirstName")[i].childNodes[0].nodeValue;
document.getElementById("lastName").innerHTML = xmlDoc.getElementsByTagName("LastName")[i].childNodes[0].nodeValue;
document.getElementById("contactNum").innerHTML = xmlDoc.getElementsByTagName("ContactNo")[i].childNodes[0].nodeValue;
}

XML 文件:

<?xml version="1.0"?>
<Company>
<Employee category="technical">
<FirstName>Tanmay</FirstName>
<Nickname>Tania</Nickname>
<LastName>Patil</LastName>
<ContactNo>1234567890</ContactNo>
</Employee>
<Employee category="non-technical">
<FirstName>Taniya</FirstName>
<LastName>Mishra</LastName>
<ContactNo>1234667898</ContactNo>
</Employee>
</Company>

这是输出:

enter image description here

如何同时显示节点 [0] 的数据?任何建议将不胜感激。谢谢。

最佳答案

问题是您在每次迭代中都会覆盖之前的Employee 数据:

for(i=0; i<employeeCount.length; i++)
{
document.getElementById("firstName").innerHTML = xmlDoc.getElementsByTagName("FirstName")[i].childNodes[0].nodeValue;
document.getElementById("lastName").innerHTML = xmlDoc.getElementsByTagName("LastName")[i].childNodes[0].nodeValue;
document.getElementById("contactNum").innerHTML = xmlDoc.getElementsByTagName("ContactNo")[i].childNodes[0].nodeValue;
}

这就是为什么最终只有最后一个 Employee 数据保留在 innerHTML 中的原因。

关于javascript - 当 XML 内容作为 XML 文件接收时,使用 Ajax 和 Javascript 加载 XML 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30050083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com