Доступ к элементам и атрибутам из живой ленты XML - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь получить доступ к времени до прибытия следующей шины для транзитной системы шины Live Feed в Эшвилле, штат Северная Каролина, на данной автобусной остановке, но я продолжаю возвращать две ошибки консоли: «время не определено» и «Не удается прочитать свойствоgeElementsbyTagName не определено "

. Вы можете использовать" 470 "в качестве экзамена stopID, чтобы просмотреть файл XML.

Я убедился, что добавляется правильный идентификатор остановки, хотя я не уверен, что правильно добавляю идентификатор в URL.Если элемент вложен в другой, это проблема?

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 голосов
/ 28 марта 2019

Вы пытаетесь записать значение переменной time вне функции, в которой вы ее определили. Вы можете изменить свой код на это, и это должно работать:

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

    console.log(time);
}
...