Ciao a tutti... ho creato questo codice di prova per capire cosa non va nei miei script:
Codice PHP:
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
// STRINGA XML
var str='<?xml version="1.0"?>' +
'<note>' +
'[i]<t>titolo1</t><d>descrizione1</d>[/i]' +
'[i]<t>titolo2</t><d>descrizione2</d>[/i]' +
'[i]<t>titolo3</t><d>descrizione3</d>[/i]' +
'[i]<t>titolo4</t><d>descrizione4</d>[/i]' +
'</note>';
// CREO OGGETTO XML
var xmlDoc=leggiXML(str);
// CREO L'ARRAY DI [i][/i]
var item=xmlDoc.getElementsByTagName('i');
// VISUALIZZO GRANDEZZA ARRAY
alert("Esistono n° "+item.length+" nodi [i][/i]");
// SCORRO ARRAY ITEM
for(var i=0;i<item.length;i++){
// CREO L'ARRAY DEI TAG SOTTO ITEM
var tag=item[i].childNodes
// SCORRO L'ARRAY DEI TAG
for(var j=0;j<tag.length;j++){
// LEGGO IL TIPO DI TAG ED IL VALORE E LI VISUALIZZO
var nomeTag=tag[j].tagName;
var value=tag[j].textContent;
alert("Nome tag: "+nomeTag+"\nValore: "+value);
}
}
// FUNZIONE PER CREARE OGGETTO XML
function leggiXML(str){
var xmlDoc;
try{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(str);
}catch(e){
try{
parser=new DOMParser();
xmlDoc=parser.parseFromString(str,"text/xml");
}catch(e) {alert(e.message)}
}
return xmlDoc;
}
</script>
</head>
<body>
</body>
</html>
Su firefox sembra dare i risultati corretti ed attesi, mentre su IE6 (il 7 non so) mi da correttamente il nome del tag, ma il valore è sempre undefined.
Dove sbaglio?