Извините, я неправильно понял ваш вопрос. Я не понимал, что второй XML файл был тем, что вы хотели получить в результате использования метода PHP. Теперь, когда я это вижу, мне кажется, я понимаю, в чем ваша проблема. Вы вызываете функцию добавления только один раз. Вам нужно l oop через каждый узел, вызывая добавление каждый раз перед выводом результатов в файл назначения XML.
Возможно что-то вроде этого:
function fn_add_shipping($xmlFileToLoad, $destination)
{
$xmlFileToLoad = 'shipping.xml';
$dom = new DOMDocument();
$dom->load($xmlFileToLoad);
$shipping = $dom->getElementsByTagName('node');
for ($x=0; $x<$shipping->length; $x++)
{
$ship = $dom->createElement('Shipping_Cost', '9');
$shipping[$x]->appendChild($ship);
}
$dom->save($destination);
return $destination;
}