No se puede insertar antes en un archivo XML

Estoy intentando escribir un script que actualizará un archivo XML RSS. Quiero que tome el archivo existente y agregue un nuevo elemento a la parte superior de la lista de elementos. Anteriormente lo conseguí para agregarlo al final del archivo, pero ahora no está agregando el nuevo elemento en absoluto. He estado revisando en línea, pero todavía no puedo hacerlo funcionar. Aquí está lo que tengo hasta ahora:

$rssDoc = new DOMDocument();
$rss_file = $_SERVER['DOCUMENT_ROOT'].'/test_site/feed.xml';
$rssDoc->load($rss_file);
$items = $rssDoc->getElementsByTagName('item');

$newItem = $rssDoc->createElement('item');
$rssTitle = $rssDoc->createElement('title');
$rssTitle->appendChild($rssDoc->createTextNode($title));
$newItem->appendChild($rssTitle);

$rssDesc = $rssDoc->createElement('description');
$rssDesc->appendChild($rssDoc->createTextNode($string));
$newItem->appendChild($rssDesc);

$rssLink = $rssDoc->createElement('link');
$rssLink->appendChild($rssDoc->createTextNode($link));
$newItem->appendChild($rssLink);

$rssDate = $rssDoc->createElement('pubDate');
$rssDate->appendChild($rssDoc->createTextNode($pubDate));
$newItem->appendChild($rssDate);

$firstItem = $items->item(0);
$firstItem->insertBefore($newItem,$firstItem->firstChild);

$rssDoc->formatOutput = true;
echo $rssDoc->saveXML();

¿Qué me estoy perdiendo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta