Ciao,
avrei il bisogno di assegnare l'attributo ID univoco a quei nodi in cui questo ID non è già settato.
Ho provato a fare così, ma mi pare che se le chiavi non sono contigue crea duplicati.
Codice PHP:
    function uniqueAttributesForAll($nodename,$attrname,$setid=false)
    {
        
$a 1;    
        
$countriesList $this->doc->getElementsByTagName($nodename);
        
        foreach(
$countriesList as $country
        {
            
$values $country->getElementsByTagName("*");
            
            foreach(
$values as $node
            {
                if(
$node->hasAttribute($attrname)==true)
                    
$node->setIdAttribute($attrname,true);
                  else
                  {                  
                      while(
$this->doc->getElementById($a)!=null)
                      {
                          
$a++;
                    }                    
                    
$node->setAttribute($attrname,$a);
                      if(
$setid==true)
                        
$node->setIdAttribute($attrname,true);                    
                }                    
            }
        }
    } 
Un saluto

Alberto.