Нужна помощь по пхп срипту импорта из хмл

victorstep

Новичок
Нужна помощь по пхп срипту импорта из хмл

Всем здравствуйте.

Нужна помощь по уже существующему пхп скрипту импорта из хмл

не буду преводить весь скрипт, приведу для понимания требуемые отрезки.

структура хмл которая работает без проблем (опуская ненужные вещи)

PHP:
 <item>
  <id>28010</id> 
</item>
код пхп

PHP:
    $components = $xml->evaluate("//item");
далее идет

PHP:
        foreach ($components as $item) {
      $vendors_products_id=$xml->get_content($item."/id[1]");
далее внос или упгрэйд в базу данных.

это все хорошо и просто работает с простой хмл который я привел выше.

НО дело в том, что нужно имортировать следующий хмл

PHP:
 <subgroup>
  <id>2468</id> 
                <item>
                     <id>28010</id> 
                </item>
                <item>
                    <id>28011</id> 
              </item>
</subgroup>
и далее идут subgroup с другими id в которых item с другими id
тоесть надо импортировать id item'a с id каждой soubgroup в которой item находится.

Буду примного благодарен за помощь, мучаюсь уже пару дней.

P.S. функция evaluate

PHP:
    function evaluate ( $path, $context = "" )
    {
        $path = stripslashes($path);
        $path = str_replace("\"", "", $path);
        $path = str_replace("'", "", $path);
        
        $paths = $this->split_paths($path);
        
        $result = array();
        
        foreach ( $paths as $path )
        {
            $path = trim($path);
            
            $this->xpath = $path;
        
            $path = strtr($path, array_flip($this->entities));
        
            $steps = $this->split_steps($path);
        
            if ( empty($steps[0]) )
            {
                array_shift($steps);
            }
        
            $nodes = $this->evaluate_step($context, $steps);
        
            $nodes = array_unique($nodes);
            
            $result = array_merge($result, $nodes);
        }
        
        return $result;
    }
 
Сверху