Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сформировать XML средствами PHP, данные из MySQL и записуем в XML 
:(
    Опции темы
zluka
Дата 21.5.2009, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 27.7.2006

Репутация: нет
Всего: 2



Вобщем делаю статистику для одного приложения на iPhone.
Статистика простая, вроде:
Код

1. Masha......24
2. Sasha......21
3. Misha......19
...

Схема такая: отсылаем запрос (POST) с приложения, который подключаеться к скрипту script.php. Этот скрипт вытягивает данные из таблицы MySQL "scores" и делает XML файл. На iPhone приложение возвращаеться уже формированый xml который там и парситься.
Парсер я напишу. А вот как сформировать этот XML файл? 

Дайте пожалуйста пример или какую-нибудь ссылку куда копать..
Спасибо.





--------------------
user posted image
PM MAIL   Вверх
bars80080
Дата 22.5.2009, 00:07 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 1
Всего: 315



да просто напиши 

Код

header('Content-type: text/xml'); 
header('Content-Disposition: inline; filename=rss.xml');
echo '<?xml version="1.0" encoding="cp-1251" ?>';
echo '<rss> ... разные тэги ... </rss>';
exit;

PM MAIL WWW   Вверх
skyboy
Дата 22.5.2009, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(zluka @  21.5.2009,  22:41 Найти цитируемый пост)
А вот как сформировать этот XML файл? 

хороший пример привел bars80080 - в примере ничего лишнего.
от себя добавлю резюме: что HTML, что XML - суть простой текст.
потому формируется известными тебе способами: либо при помощи операторов вывода echo/print(и прочими функциями с выводом типа print_r, var_dump или ещё чего покруче), либо вынесением текста ща пределы тегов "<?php ?>":
Код

<?xml version="1.0" encoding="cp-1251" ?>
<root>
<?php
// ... вывод вложенных тегов
?>
</root>

Чтоб клиент знал, что ему передали именно xml, а не html  или SVG, к примеру, как раз и отправляется соответствующий заголовок при помощи констуркции
Код

header('Content-type: text/xml'); 

однако, напомню, что отправка заголовков должна происходить до любого вывода, потому подобный код не сработает, как надо:
Код

<?xml version="1.0" encoding="cp-1251" ?>
<root>
<?php
header('Content-type: text/xml'); 
// ... вывод вложенных тегов
?>
</root>

header('Content-Type...') будет отправлен после начала вывода и клиент получит сначала заголовок "Content-Type: text/html", отправляемый НТТР-сервером при любом выводе, а потом уже вдогонку - Content-Type: text/xml, но будет уже поздно. И весь твой сформированный XML будет трактоваться как HTML и выводиться соответствующе.
PM MAIL   Вверх
korvin72
Дата 13.9.2010, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 13.9.2010

Репутация: нет
Всего: нет



Цитата(skyboy @ 22.5.2009,  00:40)
Код

<?xml version="1.0" encoding="cp-1251" ?>
<root>
<?php
// ... вывод вложенных тегов
?>
</root>


Такой код вообще не работает.
Браузер выдает ошибку:
Parse error: syntax error, unexpected T_STRING in Y:\home\localhost\www\jquery\exchanger\scripts\test.xml.php on line 1

У меня есть вариант, который точно работает:

Код

<?
header('Content-type: text/xml');


Создаем обьект domdocument :

Код

$domdocument = new domDocument('1.0', 'WINDOWS-1251');


Далее формируем xml-документ:

Код

$xml .= "<item>".
        "<from>".$data_cur[$srcID]['name']."</from>".
        "<to>".$data_cur[$dstID]['name']."</to>".
        "<in>".$src_amount."</in>".
        "<out>".$dst_amount."</out>".
        "<amount>".$reserv[$dstID]."</amount>".
       "</item>";


Остается только загрузить документ и вывести его в браузер:

$domdocument->LoadXML($xml);
$domdocument->formatOutput = true;
echo $domdocument->saveXML();
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0843 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.