Предполагая
$xml = <<< XML
<a>
First Text Node
<b>foo</b>
Another Text Node
<c>bar</c>
Not the last Text Node
<empty/>
</a>
XML;
Используя этот код:
$dom = new DOMDocument;
$dom->loadXml($xml);
$xp = new DOMXPath($dom);
$textNodes = $xp->query('//text()');
$lastTextNode = $textNodes->item($textNodes->length - 1);
$lastTextNode->nodeValue .= 'some stuff appended to the end';
echo $dom->saveXml();
выведет:
<?xml version="1.0"?>
<a>
First Text Node
<b>foo</b>
Another Text Node
<c>bar</c>
Not the last Text Node
<empty/>
some stuff appended to the end</a>
Если это не то, что вы считаете последним узлом, уточните вопрос.