Intereting Posts
проблема, включая PHPUnit Laravel JavaScript передаёт массив из backend в массив в JavaScript База данных коммутатора CakePHP (используя тот же источник данных) на лету? PHP fopen () Ошибка: не удалось открыть поток: разрешение отклонено Как сделать регистр имени пользователя нечувствительным в zf2 Как проверить поле формы в PHP с помощью объектно-ориентированной техники Реакция данных JSON с сервера PHP пуста Шаблоны проектирования. Как создать объект базы данных / соединение только при необходимости? PHP – Проверка электронной почты Хранить его в сеансе или в базе данных запросов каждой загрузки страницы? получение значения из столбца, но возвращает null? Как изменить HTTP-ответ и показать сообщение об ошибке, когда исключение происходит в деструкторе? Стандартный способ переключения из / в user_timezone и gmt строка заменяется в большом файле php PHP Новая строка не работает

Разбор XML-атрибутов PHP

Я пытаюсь повторить атрибут минут под каждым типом routeTitle .

Мой результат: http://zxstudios.ca/api/test2.php

XML: http://webservices.nextbus.com/service/publicXMLFeed?command=predictions&a=ttc&stopId=1974

<?php $stopid="1974"; $urlbase = "http://webservices.nextbus.com/service/publicXMLFeed?command=predictions&a=ttc&stopId="; $url = $urlbase.$stopid; $xml = simplexml_load_file($url); $rt = $xml->predictions; foreach ($rt as $value) { echo $value->attributes()->routeTitle."Min. <br>"; } echo $rt->direction->attributes()->minutes; ?> 

Так, например:

 325-Don Mills 3 Min. 1 Min. 185-Don Mills Rocket 2 Min. 1 Min. 25-Don Mills 2 Min. 1 Min. 

Обновленный вопрос: как мне получить доступ к правильному узлу и избежать «Предупреждение: main (): Узел больше не существует …»?

Solutions Collecting From Web of "Разбор XML-атрибутов PHP"

Если вы хотите пересчитать значения атрибутов минут для каждого маршрута , то ваш цикл foreach должен выглядеть следующим образом:

 // your code foreach ($rt as $value) { echo $value->attributes()->routeTitle . '<br />'; if(isset($value->direction)){ foreach($value->direction->prediction as $attr){ foreach($attr->attributes() as $k => $v){ if($k == 'minutes'){ echo $v . ' minutes <br />'; } } } }else{ echo "No direction. <br />"; } }