Credo di essermi avvicinato all'obiettivo. Vorrei focalizzarmi sulla seconda parte del codice.
Io scrivo in un array quello che il parsing mi restituisce leggendo tutti i nodi di un certo tipo tramite un ciclo for.
Ora, se voglio richiamare fuori da quella funzione quell'array come posso fare?
Il codice qui riportato funziona bene ma ritorna il primo valore che legge dall'xml, eventuali successivi vengono ignorati.
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(";");
return str;
}
}
}
}
}
function ModifyData() {
area();
document.write(str);
}
Qualcuno ha qualche idea in proposito?
Grazie mille.