我是代码开发新手,我正在尝试构建一个项目来帮助我保留所学的技能。在这样做的过程中,我遇到了障碍。
我试图从 XML 文件中的节点中提取一些属性,但无法获取我需要的属性。我需要能够从节点父节点中提取“编号”以及节点中列出的每个团队的团队“代码”。团队数量在 2 到 6 之间波动。 Here's a sample of the XML.
我的代码如下。当它运行时,它将获取再见周数据,但不会加载团队。我读过的几篇文章也有类似的问题,但有一些其他技术或数据结构不适用于我在这里使用的内容(据我所知)。任何帮助将不胜感激。
<!DOCTYPE html>
<html>
<head>
<title>Bye Week</title>
<script>
var xmlhttp;
window.onload = function()
{
var url = "https://www.fantasyfootballnerd.com/service/byes/xml/test/";
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = byeWeeks;
xmlhttp.send();
}
function byeWeeks()
{
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{
var theXML = xmlhttp.responseXML.documentElement.getElementsByTagName('Week');
for(var i = 0; i < theXML.length; i++)
{
var week = theXML[i].getAttribute('number');
var team = theXML[i].getElementsByTagName('Team');
var out = "<b>" + team + "</b><br/>";
out += "Bye Week: " + week + "<br/>";
console.group('Output for ' + team);
console.log('Bye Week: ' + week);
console.log();
console.groupEnd();
document.getElementById('result').innerHTML += out
}
}
}
</script>
</head>
<body>
<div id="result"></div>
</body>
</html>
最佳答案
根据附加的 xml 结构,team
节点似乎可以在 week
节点内有多个,因此您必须迭代 team
code> 节点以提取 code
。
var week = theXML[i].getAttribute('number');
var teams = theXML[i].getElementsByTagName('Team');
teams.forEach(function(team) {
console.log(team.getAttribute('code'));
});
关于javascript - 如何使用 javascript 或 jQuery 访问 xml 中的子子属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51089481/