Ciao,
ho scoperto che il metodo $doc->getElementById($ID) non funziona su PHP se non dopo aver validato il documento.
Questa cosa mi stupisce, perché è un metodo basilare per l'identificazione di un oggetto attraverso l'attributo univoco per eccellenza, cioè appunto l'ID.

Comunque, dovendo piegarci a questa realtà di PHP, provo a validare il documento:

Codice PHP:

$doc 
= new DOMDocument("1.0""UTF-8");

$doc->loadXML('<books>
    <item>Storie di Nonna Papera</item>
    <item id="pippo" title="click">Il ratto di Topolinia</item>
</books>'
);

if (
$doc->validate()) { echo "Documento valido!
"
; } else { echo "Non valido!
"
; }

$a $doc->getElementById("pippo");
echo 
$a->getAttribute("title"); 
Lo script stampa "Non valido", e l'interprete restituisce "No DTD given in XML-Document".
Ovviamente poi neanche getElementById() restituisce qualcosa.

Vi chiedo allora: sapete come si dichiara il DTD nel documento DOM per passare questa validazione?