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 :: Очень Медленная Работа SilmpleXML парсера

 PHP.SU

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


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

> Описание: Столкнулся с проблемой, очень долго парсится XML прайс, подскажите в чем может быть причина? как ускорить парсер? код приложу
Hazrat
Отправлено: 29 Мая, 2012 - 21:48:46
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Май 2012  


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




Народ помогите, очень не простая ситуация, парсер долго парсит XML документ, я бы сказал очень долго в чем может быть причина?

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4.  function PARSER_XML () {
  5.     $price_xml = 'files/price.xml';      # Документ в Формате XML для Парсинга
  6.    
  7.     $xml = simplexml_load_file($price_xml); # Инициируем обьект SimpleXML
  8.    
  9.     define('MONEY',$xml->Currency); # Курс Валюты в данном XML Документе
  10.    define('DATE',$xml->Date);      # Дата Создания XML файла , Актуальность ее
  11.    
  12.     define ('NUM_CATALOG', $xml->G1->count()); # Число каталогов с тегом G1 т.е самых начальных это Комплектуюшие ноутбуки и т.д.
  13.    
  14.     for ($i = 0; $i < NUM_CATALOG; $i++ ) {
  15.         $root = $xml->G1[$i]; # Корневой элемент. Как бы ссылка для доступа к дочерним элементам
  16.        $G1_MainGroup = $root->MainGroup; # тег MainGroup -  это тег содержаший название данной категории (Категория КОМПЛЕКТУЮЩИЕ ДЛЯ КОМПЬЮТЕРОВ , НОУТБУКИ )
  17.        
  18.         $root_G2 = $root->G2; # Дочерний Элемент G2  
  19.        $root_G2_num =  $root_G2->count(); # Число дочерних Элементов в G2
  20.        
  21.        
  22.         for ( $y = 0 ; $y < $root_G2_num ; $y++ ){
  23.            
  24.              $G2 = $root->G2[$y]; # Корневой Тег для доступа к под каталогам
  25.             $G2_Group = $G2->Group; # Тег Goup - это тег названия под каталога Для Товара тоже самое что и G1->G2->Group 'Видеокарты'
  26.             $root_G3 = $root_G2->G3; # переменная для перебора дочерних элементов G3 , Т.е последний каталог
  27.             $num_G3 =  $G2->G3->count(); # Количество Элементов Подгруппы G1->G2->G3->SubGroup
  28.            
  29.             for ($e = 0; $e < $num_G3; $e++) {
  30.                
  31.                 @$G3_SubGroup = $G2->G3[$e]->SubGroup; # Переменная Храняшая Тег группы товаров G1->G2->G3->SubGroup
  32.                
  33.                 $num_item = $G2->G3[$e]->Item->count(); # Количество Товаров G1->G2->G3->Item
  34.            
  35.                 for ($q = 0; $q < $num_item; $q++ ){
  36.                    
  37.                     $Item = $G2->G3[$e]->Item[$q]; # Переменная Содержашая Элементы
  38.                    $cURL = cURL_PARSER($Item->No);
  39.                    
  40.                     #$parser_info = PARSER_INFO($cURL); скачиваем информацию с сервера
  41.                    #$parser_img = PARSER_IMG($cURL); и картинки
  42.                  
  43.                     $sql = "INSERT INTO `tovar` ( `MainGroup`, `Group`, `SubGroup`, `No`, `Name`, `Brand`, `PartNo`, `Price`, `Avail`)
  44.                                       VALUES   ( '$G1_MainGroup', '$G2_Group', '$G3_SubGroup', '$Item->No', '$Item->Name', '$Item->Brand', '$Item->PartNo', '$Item->Price', '$Item->Avail');" ;
  45.                    
  46.                     DB_MYSQl($sql); # Отпраляем Запрос                  
  47.                }
  48.             }
  49.            
  50.         }
  51.        
  52.        
  53.          
  54.      
  55.          
  56.        
  57.          
  58.     }
  59.    
  60.  }
  61.  
  62.  


Файл XML прилагается, заранее спасибо , очень жду помощи
(Добавление)
Народ Вопрос снят, просто недоглядел , была включена функция $cURL = cURL_PARSER($Item->No); она парсит с сайта , поэтому и долго обрабатывала . Радость


-----
Я мирный человек! Мне не нужна Война! Мне нужен МИР! желательно весь...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« XML и его обработка »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB