从Live Feed XML访问元素和属性

问题描述 投票:0回答:1

我试图访问时间,直到下一班巴士到达阿什维尔NC的给定公交车站的Live Feed公交系统,但我一直返回两个控制台错误:“时间未定义”和“无法读取未定义的geElementsbyTagName的属性” “

您可以使用“470”作为考试stopID来查看XML文件。

虽然我不确定我是否正确地将ID添加到URL上,但我确保添加了正确的停止ID。如果元素嵌套在另一个元素中,那是一个问题吗?

var feedURL = "http://webservices.nextbus.com/service/publicXMLFeed?command=predictions&a=art&stopId="+stopID;
var xhttp = new XMLHttpRequest();

xhttp.onreadystatechange = function(){
    if(this.readyState == 4 && this.status == 200){
        attribute(this);
    }
};
xhttp.open("GET", feedURL, true);
xhttp.send();

function attribute(feedURL){
    var y; 
    var xmlDoc = xml.responseXML;
    var time = "";
    y = xmlDoc.getElementsbyTagName('prediction');
    time = x.getAttribute('minutes');
}
console.log(time);

我期待在公共汽车到达给定站点之前给出的分钟数。

javascript html xml http-live-streaming android-livedata
1个回答
0
投票

您试图将变量time的值记录在您定义的函数之外。您可以将代码更改为此,这应该有效:

function attribute(feedURL){
    var y; 
    var xmlDoc = xml.responseXML;
    var time = "";
    y = xmlDoc.getElementsbyTagName('prediction');
    time = x.getAttribute('minutes');

    console.log(time);
}
© www.soinside.com 2019 - 2024. All rights reserved.