Salve a tutti,
Ho il seguente codice che ha il compito di estrarre da un file xml la lista degl online e stamparla all'interno di un div.
Codice PHP:
var online = new Array();
var XMLFile = "/online.xml"
var xml = null;
function getXML(){
if (document.implementation && document.implementation.createDocument)
{
xml = document.implementation.createDocument("","",null)
xml.onload=Leggi
xml.load(XMLFile);
}
else if (window.ActiveXObject)
{
xml = new ActiveXObject("Microsoft.XMLDOM")
xml.onreadystatechange = IEGo;
xml.load(XMLFile);
}
}
function IEGo()
{
if (xml.readyState == 4)
Leggi();
}
function Leggi()
{
var Nodo = xml.getElementById("online").getElementsByTagName("pg");
LeggiPG(Nodo);
var testo = "ONLINE
";
for (var i = 0 ; i < online.length ; i++ ){
if(online[i].sesso = "M"){
testo += "<a href=\"scheda_on.php?pg_id="+online[i].id+"\" style=\"color:blue;\"\">"+
online[i].nome_cognome+"</a></span>
";
} else {
testo += "<a href=\"scheda_on.php?pg_id="+online[i].id+"\" style=\"color:pink;\"\">"+
online[i].nome_cognome+"</a></span>
";
}
}
document.getElementById("blabla").innerHTML=testo;
}
function LeggiPG(obj){
for (i = 0 ; i < obj.length ; i++)
online[i] = new dati(
getValue(obj[i],"nome_cognome") ,
getValue(obj[i],"id") ,
getValue(obj[i],"sesso")
)
}
function getValue(vobj,tag,param){
if (param)
return vobj.getElementsByTagName(tag)[0].getAttribute(param);
else
return vobj.getElementsByTagName(tag)[0].childNodes[0].nodeValue;
}
function dati(nome_cognome, id, sesso){
this.nome_cognome=nome_cognome;
this.id=id;
this.sesso=sesso;
}
Il problema è che ritorna un errore, più precisamente su :
xml.getElementById("online") has no properties
[Break on this error] var Nodo = xml.getElementById("online").getElementsByTagName( "pg");
Il file xml è
Codice PHP:
<?xml version="1.0" encoding="iso-8859-1"?>
<online>
<pg>
<nome_cognome>
utente prova
</nome_cognome>
<id>
2
</id>
<sesso>
M
</sesso>
</pg>
</online>
Da cosa può dipendere?