salve ragazzi, ho un file xml di questo tipo:
- <root>
- <ciao>
<dato1 valore="iksadnoisa oidasnd" />
<dato2 valore="sadmsapdm sadm" />
<dato3 valore="sapdpsakd213012302103'2103'213" />
<parametro valore="094385" />
</ciao>
- <heyhey>
<dato3 valore="sapdpsakd213012302103'2103'213" />
<parametro valore="094385" />
</heyhey>
</root>
-----------------------------------------------
devo creare un array associativo dove ad esempio
mioarray['ciao']['dato1']="iksadnoisa oidasnd";
ho creato una funzione ricorsiva che accetta come argomento
il contenuto di <root> (quindi il riferimento a questo nodo)
ma non riesco, dopo due giorni di lavoro, a concluderla.
se lancio la funzione ora mi ritorna un array associativo contenente
dato1: "iksadnoisa oidasnd"
dato2: "sadmsapdm sadm"
dato3: "sapdpsakd213012302103'2103'213"
parametro: "094385"
-----------------------------------------------
ecco la funzione:
function xml2array (head)
{
head = head.childNodes;
arr=new Array();
for (var i in head)
{
if (head[i].nodeName!=null and head[i].nodeName!=undefined)
{
if(head[i].attributes.valore==undefined)
arr[ head[i].nodeName ] = xml2array(head[i]);
else
arr[ head[i].nodeName ]=head[i].attributes.valore;
}
}
return arr;
}
![]()
![]()
![]()
![]()
![]()
![]()
![]()