victorstep
Новичок
Нужна помощь по пхп срипту импорта из хмл
Всем здравствуйте.
Нужна помощь по уже существующему пхп скрипту импорта из хмл
не буду преводить весь скрипт, приведу для понимания требуемые отрезки.
структура хмл которая работает без проблем (опуская ненужные вещи)
код пхп
далее идет
далее внос или упгрэйд в базу данных.
это все хорошо и просто работает с простой хмл который я привел выше.
НО дело в том, что нужно имортировать следующий хмл
и далее идут subgroup с другими id в которых item с другими id
тоесть надо импортировать id item'a с id каждой soubgroup в которой item находится.
Буду примного благодарен за помощь, мучаюсь уже пару дней.
P.S. функция evaluate
Всем здравствуйте.
Нужна помощь по уже существующему пхп скрипту импорта из хмл
не буду преводить весь скрипт, приведу для понимания требуемые отрезки.
структура хмл которая работает без проблем (опуская ненужные вещи)
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>
тоесть надо импортировать 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;
}