Мне нужно создать задание CRON, которое будет еженедельно читать файл XML. Файл XML содержит информацию обо всех шоу в разных кинотеатрах.
Что я хочу сделать, так это прочитать файл XML, извлечь необходимую мне информацию о каждом шоу, а затем загрузить каждое шоу в базу данных. Но у меня возникают проблемы, когда я начинаю вкладывать циклы for.
Я хочу, чтобы каждый кортеж содержал следующую информацию:
Плитка | FilmWebNr | Рейтинг | Версия | Центр | Экран | Дата | Время |
URL для XML: http://217.144.251.113/static/Shows_FilmWeb.php
Здесь - это вставка, в которой я пытаюсь перечислить все даты для каждого экрана для каждого заголовка.
Здесь - результат. Как вы можете видеть, даты отображаются только в том случае, если на заголовок более одного экрана. Я не понимаю, почему массив атрибутов не всегда доступен.
Я борюсь с получением последних трех (экран, дата и время).
$map_url = "http://217.144.251.113/static/Shows_FilmWeb.php";
$response_xml_data = file_get_contents($map_url);
$data = simplexml_load_string($response_xml_data);
$array = (array) simplexml_load_string($response_xml_data);
$json = json_encode($array);
$configData = json_decode($json, true);
$movies = $configData['Performances']['Title'];
foreach ($movies as $title) {
echo "Title: " . $title['@attributes']['Name'] . '<br/>';
echo "FilmWebNr: " . $title['FilmWebNum'] . '<br/>';
echo "Rating: " . $title['TitleRating'] . '<br/>';
echo "Version: " . $title['TitleVersion'] . '<br/>';
echo "Center: " . $title['Center']['@attributes']['Name'] . '<br/>';
foreach ($title['Center']['Screen'] as $screen) {
//here I run into trouble
}
}
Допустим, я пытаюсь добавить следующее во внутренний цикл:
$screen['@attributes']['Name'];
Я получаю сообщение об ошибке "Неопределенный индекс: @attributes".
Так что иногда атрибуты кажутся массивом, а иногда нет. Хотя это всегда часть XML.