Доброго времени суток, уважаемые знатоки помогите пожалуйста, в php я очень плохо разбираюсь точнее только начинаю изучать. Не могу получить данные из xml post запросом, часть данных выводится а часть нет. Вот скрипт, PHP: $ch = curl_init(); include("../config/config.php"); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, 'op=listevents&seq=45'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_HEADER, 0); $xml = curl_exec($ch); echo $xml; От сервера получаю ответ Код (Text): <?xml version="1.0" encoding="UTF-8" ?> <response seq="45"> <data><eventlist> <event type="dj"> <dj archive="1">dj</dj> <active>1</active> <id>1</id> <calendar starttime="00:00:00"/> </event> <event type="playlist"> <playlist loopatend="0" shuffle="1" priority="3" >jingles</playlist> <active>0</active> <id>2</id> <calendar starttime="13:00:00" duration="00:00:20" timeoffset="00:20:00" repeat="128"/> </event> <event type="playlist"> <playlist loopatend="0" shuffle="1" priority="3" >jingles</playlist> <active>0</active> <id>3</id> <calendar starttime="13:00:00" duration="00:00:20" timeoffset="00:40:00" repeat="128"/> </event> <event type="playlist"> <playlist loopatend="0" shuffle="inherit" priority="1" >ivanoff</playlist> <active>0</active> <id>4</id> <calendar starttime="21:00:00" duration="01:00:00" timeoffset="00:00:00" repeat="6"/> </event> <event type="playlist"> <playlist loopatend="0" shuffle="1" priority="2" >popular</playlist> <active>0</active> <id>5</id> <calendar starttime="14:00:00" duration="00:04:00" timeoffset="01:00:00" repeat="128"/> </event> </eventlist></data> </response> У меня выводятся данные которые находятся в Код (Text): <id>вот эти данные выводятся</id> Код (Text): <dj archive="1">dj</dj> <active>1</active> <id>1</id> а данные которые находятся здесь Код (Text): <calendar starttime="14:00:00" duration="00:04:00" timeoffset="01:00:00" repeat="128"/> Код (Text): <calendar starttime="Не выводятся" duration="Не выводятся"/> не выводятся. Помогите пожалуйста вывести эти данные.
В конфиге подключение api к серверу в формете http://login:password@ip:port/api так указано в wiki к программе sc_trans PHP: <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://login:password@IP:PORT/api'); ?> соответственно все данные указаны верно.
Код (Text): <calendar starttime="14:00:00" duration="00:04:00" timeoffset="01:00:00" repeat="128"/> starttime="Время запуска события" duration="Продолжительность события" timeoffset="Сдвиг события" repeat="Дни недели" Это читает программа и выставляет события заданные в выше указанных параметрах. --- Добавлено --- Если нужно могу привести код как вводятся данные.
Вот ты пишешь что данные которые находятся в ид, выводятся на экран. Но ведь календарь, он пуст. У него есть параметры какие то но сам он пустой. Поэтому и стоит / в конце. Интересно как выводятся определенные данные, допустим ид
А здесь есть личка? Я скину ссылку где можно наглядно посмотреть что выводится и не выводится. --- Добавлено ---
что бы было понятней немного исправлю код PHP: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://login:password@192.168.0.1:7777/api"); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, 'op=listevents&seq=45'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_HEADER, 0); $xml = curl_exec($ch); echo $xml; При таком коде отправляется запрос на сервер где установлена программа sc_trans и ожидает api запрос по адресу http://192.168.0.1:7777/api после получения методом post запроса "listevents" он отдаёт ответ в формате Код (Text): <eventlist> <event type="playlist|dj|relay"> <active/> <id/> <dj/> <playlist loopatend="1|0" shuffle="1|0" priority="#"> nameofplaylist </playlist> <relay url=""/> <calendar/> </event> <event ... /> </eventlist> echo $xml; выводит в браузере то что я скидывал в первой картинке при просмотре в браузере исходного кода я вижу что он мне отдаёт всё как положено и выглядит как на второй картинке.
И ты хочешь что бы выводился календарь? Это равносильно тому, что бы в html разметке на экран оторбажались, скажем, атрибуты картинок (src="путь" width="10" height="10"). Так не получится сделать. Если хочешь получить с календаря данные, нужно класс для работы с xml юзать.