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
Форумы портала PHP.SU :: Версия для печати :: Проблема с xml парсингом
Форумы портала PHP.SU » PHP » Программирование на PHP » Проблема с xml парсингом

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

1. vanicon - 18 Сентября, 2010 - 07:14:28 - перейти к сообщению
Есть xml файл который нужно распарсить, все получается но парсится в не правильной кодировке в xml файле указана <?xml version="1.0" encoding="UTF-8"?> и сам файл в этой же кодировке код парсера:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?PHP
  4. $source = 'http://test1.ru/index.xml';
  5. $xmlstr = '';
  6. $fp = fopen($source, 'r');
  7. if ( $fp ) {
  8. while (!feof($fp)) $xmlstr.= fread($fp, 8192);
  9. $xml = new SimpleXMLElement($xmlstr);
  10. foreach ($xml->tv->programme as $f) {
  11. echo $f->title;
  12. }
  13. }
  14.  
  15. ?>
  16.  
  17.  
  18.  


И еще одна проблема в xml файле много тегов programme и title штук 40 а мне нужно только 23 (xml файл почистить не могу)
2. vanicon - 18 Сентября, 2010 - 10:38:18 - перейти к сообщению
Проблему решил и с количеством элементов и с кодировкой, но появилась еще одна проблема в xml файле есть тег "<sub-title> текст заголовка 2</sub-title>" с тире который не обрабатывается парсером как тире.
Можно ли решить эту проблему?

 

Powered by ExBB FM 1.0 RC1