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.