Из этого урока - раздел «Добавление узлов на PHPFreaks», я опубликовал там, но не получил странных ответов, так как урок был написан ими.
http://www.phpfreaks. .. ndling-XML-данных
Когда я использую свой XML-файл, он создает узел, но не вставляет новые данные. На странице нет ошибок. Я уверен, что только что пропустил что-то очень простое, и после нескольких часов попыток я сейчас преклонюсь и буду просить о помощи.
Это скрипт, который я использую
<?php
// isbn => pages
$page_numbers = array(
'1234' => '654', // insert data into catparent node
'5678' => '789', // insert data into catparent node
);
$dom = new DOMDocument();
$dom->load('edtest.xml');
$xpath = new DOMXPath($dom);
$items = $xpath->query('item');
foreach($items as $item)
{
$item->appendChild($dom->createElement('catparent', $page_numbers[$item->getAttribute('catcode')]));
}
$dom->save('edtest_new.xml');
?>
Мой XML
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
<catcode>1234</catcode>
<catdesc>Systems - System Bundles</catdesc>
<price_cost>999.95</price_cost>
<price_sell>999.95</price_sell>
</item>
</items>
Выходной XML
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
<catcode>1234</catcode>
<catdesc>Systems - System Bundles</catdesc>
<price_cost>999.95</price_cost>
<price_sell>999.95</price_sell>
<catparent></catparent> // it creates but does not insert required data
</item>
</items>
Запускает скрипт, создает необходимый узел, но не вставляет необходимые данные. Цель сценария - найти <catcode> = 1234
и добавить новый <catparent> </catparent>
с необходимыми данными из массива.
Если есть лучший способ достижения результата или просто необходимая коррекция.
Спасибо