Ciao a tutti,
è il primo post che scrivo ed è anche la prima volta che mi "affaccio" al mondo del javascript. per lavoro sono costretto a dover scrivere qualche riga di javascript che mi faccia un parsing di un xml e mi ritorni diversi valori di diversi nodi di questo xml e li concateni tutti all'interno di una URL. Credo che con l'esempio mi farò capire meglio:

var arr = new Array();
var aree;
var str;
function area()
{
root = document.childNodes[0];//<HTML>
body = root.getElementsByTagName("BODY")[0]; //<BODY>
xml = body.getElementsByTagName("XML")[0]; //<XML>
bics = xml.childNodes[0];
vars = bics.getElementsByTagName("SELECTION_STATE")[0]; //<SELECTION_STATE>
varl = vars.getElementsByTagName("SELECTION")[0]; //<SELECTION>
cars = varl.getElementsByTagName("CHARACTERISTICS")[0]; //<CHARACTERISTICS>
for ( i = 0; i <= cars.childNodes.length; i++ )
{
if(cars.childNodes[i].getAttribute("name")=='0WBS_ELEMT__ZAREA_TER'){
for ( h = 0; h <= cars.childNodes[i].childNodes.length; h++ )
{

for ( j = 0; j <= cars.childNodes[i].childNodes[h].childNodes.length; j++)
{
arr[j] = cars.childNodes[i].childNodes[h].childNodes[j].firstChild.getAttribute("text");
}
str = arr.join(";");
}
}
}

}

function ModifyData() {
area();
windows.open("www.aaaaaaaaa.it/"+str);

}
- la mia pagina web ha un pulsante che richiama la funzione ModifyData() e da li dovranno essere richiamate altre funzioni, ma per ora mi interesserebbe che funzionasse per una singola. In questo caso è area()
- in area(), utilizzando le funzioni childnodes, arrivo fino al nodo XML che mi interessa
- faccio un ciclo for per scrivere i valori che trovo in corrispondenza di quel nodo (nel caso ne fossero presenti diversi)
- uscito dal ciclo for concateno tutto in una stringa
Vorrei solo che.....funzionasse!!
No a parte gli scherzi, dove sbaglio?
L'errore che mi ritorna quando clicco il pulsante è "Necessario oggetto" al carattere 1 della riga arr[j] =.....

grazie mille a tutti