Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Импорт " Телепрограмма в формате XMLTV" на сайт

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Tycoon
Отправлено: 10 Июня, 2009 - 14:19:55
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Имеется телепрограмма в формате XMLTV http://www[dot]teleguide[dot]info/downlo[dot][dot][dot]ew3/xmltv[dot]xml[dot]gz
требуется выводить на сайте эту программу, сам файл весит 9,48 МБ (9 946 177 байт) , пытаюсь написать скрипт для парсинга , получается типа того:

PHP:
скопировать код в буфер обмена
  1. function startElement($parser, $name, $attrs) // $parser - уникальный идентификатор парсера
  2. //     (т.к. мы можем использовать несколько парсеров)
  3. // $name - имя обнаруженного элемента
  4. // $attrs - массив атрибутов обнаруженного элемента
  5. {
  6.     global $depth;
  7.  
  8.     echo str_repeat(" ", $depth * 3); // отступы
  9.     echo "<b>Element: $name</b><br>"; // имя элемента
  10.  
  11.     $depth++; // увеличиваем глубину, чтобы браузер показал отступы
  12.  
  13.     foreach ($attrs as $attr => $value)
  14.     {
  15.         echo str_repeat("&nbsp;", $depth * 3); // отступы
  16.         // выводим имя атрибута и его значение
  17.         echo 'Attribute: ' . $attr . ' = ' . $value . '<br>';
  18.     }
  19. }
  20.  
  21. function endElement($parser, $name)// $parser - уникальный идентификатор парсера
  22. // $name - имя обнаруженного элемента
  23. {
  24.     global $depth;
  25.  
  26.     $depth--; // уменьшаем глубину
  27. }
  28. function stringElement($parser, $str) {
  29.     if (strlen(trim($str)) > 0) {
  30.         global $depth;
  31.            
  32.         echo str_repeat("&nbsp;", $depth * 3); // отступ
  33.         echo 'String: '.$str.'<br>'; // выводим строку
  34.     }
  35. }
  36. $depth = 0;
  37. $file = "xmltv.xml";
  38.  
  39. $xml_parser = xml_parser_create();
  40.  
  41. xml_set_element_handler($xml_parser, "startElement", "endElement");
  42. xml_set_character_data_handler($xml_parser, 'stringElement');
  43.  
  44. if (!($fp = fopen($file, "r")))
  45. {
  46.     die("could not open XML input");
  47. }
  48.  
  49. while ($data = fgets($fp))
  50. {
  51.     if (!xml_parse($xml_parser, $data, feof($fp)))
  52.     {
  53.         echo "<br>XML Error: ";
  54.         echo xml_error_string(xml_get_error_code($xml_parser));
  55.         echo " at line " . xml_get_current_line_number($xml_parser);
  56.         break;
  57.     }
  58. }
  59.  
  60. xml_parser_free($xml_parser);



в браузер выводится дерево элементов типа :

Цитата:
Element: TV
Attribute: GENERATOR-INFO-NAME = TVH_W/1.0
Attribute: GENERATOR-INFO-URL = http://www[dot]teleguide[dot]info/
Element: CHANNEL
Attribute: ID = 1
Element: DISPLAY-NAME
Attribute: LANG = ru
String: Первый канал
Element: CHANNEL
Attribute: ID = 2
Element: DISPLAY-NAME
Attribute: LANG = ru
String: Россия
Element: CHANNEL
Attribute: ID = 3
Element: DISPLAY-NAME
Attribute: LANG = ru
String: ТВЦ
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
и.т.д. до конца


вопрос первый, как мне нормально вывести это для отображения в ХТМЛ т.е. в нормальный вид чтобы на сайте отображалось, а не
Цитата:
Element: TV
Attribute: GENERATOR-INFO-NAME = TVH_W/1.0
Attribute: GENERATOR-INFO-URL = http://www[dot]teleguide[dot]info/
Element: CHANNEL
Attribute: ID = 1
Element: DISPLAY-NAME
Attribute: LANG = ru
String: Первый канал
Element: CHANNEL
Attribute: ID = 2
Element: DISPLAY-NAME
Attribute: LANG = ru
String: Россия
Element: CHANNEL
Attribute: ID = 3
Element: DISPLAY-NAME
Attribute: LANG = ru
String: ТВЦ
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
и.т.д. до конца

вопрос второй т.к. фал весит почти 10 МБ браузер гибнет во время парсинга
вопрос третий есть ли альтернативный способ вывод этой программы в ХМЛ формате на сайте чтобы примерно ка как на tv.mail.ru уж выглядело, но с использованием данного файла

Цитата:
http://www.teleguide.info/download/new3/xmltv.xml.gz
как источник
 
 Top
Stierus Супермодератор
Отправлено: 10 Июня, 2009 - 14:23:06
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




как часто файл изменяется?
 
My status
 Top
Tycoon
Отправлено: 10 Июня, 2009 - 14:43:06
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




1 раз в неделю, моя главная проблема что я не могу отобразить этот ХМЛ файл в нормальном виде, очень нужна помощь, спасибо
 
 Top
Stierus Супермодератор
Отправлено: 10 Июня, 2009 - 14:57:42
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Хочешь сказать, что все 9 метров у тебя 1 html фалом выдаются ? Тебе и надо 1 раз в неделю 1 раз распарсивать этот файл (либо переносить в базу данных, либо разбивать постранично для дальнейшей навигации), а в течение недели выводить уже готовый результат
 
My status
 Top
Tycoon
Отправлено: 10 Июня, 2009 - 15:05:05
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Мне главное вывести содержимое этого ХМЛ файла в нормальном виде,сам файл будет заливатся с другого сервера 1 раз в неделю, но смое главное у меня не получилось вывести этот ХМЛ файл в нормальном виде
 
 Top
Stierus Супермодератор
Отправлено: 10 Июня, 2009 - 15:06:53
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Что ты имеешь ввиду под нормальным видом ?
 
My status
 Top
Tycoon
Отправлено: 11 Июня, 2009 - 09:08:21
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Мне нужно сделать так, прочитать, обработать ХМЛ файл и вывести эту информацию на сайте
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB