从实时Feed XML访问元素和属性

时间:2019-03-28 17:37:26

标签: javascript html xml http-live-streaming android-livedata

我正在尝试获取时间,直到下一辆公共汽车到达给定公共汽车站在Asheville 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);

我期望公交车到达指定停靠点的时间。

1 个答案:

答案 0 :(得分:0)

您正在尝试将变量time的值记录在已定义的函数之外。您可以将代码更改为此,并且这样应该可以:

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

    console.log(time);
}