La funzione scrivi() dovrebbe permettere che i nodi di tipo 3 (spazi bianchi tra i tag XML) vengano eliminati ed è valida solo per gli elementi di 2° livello (contenuti in <azienda>).codice:file:file.xml <?xml version="1.0" encoding="iso-8859-1"?> <azienda> <nome>XML & Co.</nome> <impiegati> <donne>101</donne> <uomini>191</uomini> </impiegati> <citta>Roma</citta> </azienda> file:script.js //.....prima caricamento file.xml.....// if (window.ActiveXObject){ var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; } else if (document.implementation && document.implementation.createDocument) var xmlDoc= document.implementation.createDocument("","doc",null); if (typeof xmlDoc!="undefined") xmlDoc.load("file.xml"); //......fine caricamento file.xml.....// var notWhitespace = /\S/ function scrivi(){ var msgobj=xmlDoc.getElementsByTagName("azienda")[0] for (i=0;i<msgobj.childNodes.length;i++){ if ((msgobj.childNodes[i].nodeType == 3)&&(!notWhitespace.test(msgobj.childNodes[i].nodeValue))) { msgobj.removeChild(msgobj.childNodes[i]) i-- } } document.body.innerHTML= xmlDoc.getElementsByTagName("azienda")[0].childNodes[1].childNodes[1].firstChild.nodeValue } //....parte finale....// if (typeof xmlDoc!="undefined"){ if (window.ActiveXObject) scrivi() else xmlDoc.onload=scrivi } //...................//
Come dovrei agire affinchè tutto sia valido anche per gli elementi di 3° livello?
Grazie!

Rispondi quotando