utilizzo la classe DOMDocument per leggere/scrivere file xml ma non č consentito per via della conversione 'UTF-8' in caso di caratteri accentati ecc. Impostando la dichiarazione
$xmlDoc=new DOMDocument('1.0','ISO-8859-1'); genera l'errore:

DOMDocument::saveXML() [domdocument.savexml]: output conversion failed due to conv error, bytes 0xE8 0xE8 0xE8 0x30

Come risolvere?

Codice PHP:

<?php

//$xmlDoc = new DOMDocument('1.0', 'UTF-8');

/* <?xml version="1.0" encoding="iso-8859-1"?> */
  
$xmlDoc=new DOMDocument('1.0','ISO-8859-1'); 
/* 
   Aggiungo la root, una sola!!! 
   La riga che segue crea un nodo e lo chiama root 
*/ 

   
$xmlRoot=$xmlDoc->createElement('root'); 
  
// aggiungo il nodo al documento 
   
$xmlDoc->appendChild($xmlRoot); 
     
// aggiungo un nodo "persone" a root 
   
$xmlPersone=$xmlDoc->createElement('persone'); 
   
$xmlRoot->appendChild($xmlPersone); 
  
// aggiungo a "persone" alcuni nodi "persona" con dei figli 
   
for ($i=0;$i<3;++$i
   { 
      
$xmlPersona=$xmlDoc->createElement('persona'); 
      
$xmlPersone->appendChild($xmlPersona); 
         
      
$xmlNome=$xmlDoc->createElement('nome','ččč'.$i); 
      
$xmlPersona->appendChild($xmlNome); 
       
      
$xmlCognome=$xmlDoc->createElement('cognome','cognome'.$i); 
      
$xmlPersona->appendChild($xmlCognome); 
       
      
$xmlIndirizzo=$xmlDoc->createElement('indirizzo','indirizzo'.$i); 
     
// $xmlIndirizzo->appendChild($xmlIndirizzo); 
       
   

    
// Converto in stringa il documento creato 
   
$out=$xmlDoc->saveXML(); 
   
   
$xmlDoc->save('from_dom.xml');     // salva su file


   
header ("content-type: text/xml"); // visualizza su browser
   
$out=$xmlDoc->saveXML(); 
   print 
$out

?>