AJAX: responseXML e XML con parsing error

giovedì 13 agosto 2009 - 12.21

lup0z Profilo | Newbie

Ciao a tutti,
ho un problema che mi sta facendo andare via di testa da un paio di giorni (e che ovviamente blocca tutto il lavoro!).
Tramite richiesta AJAX, voglio che mi venga restituito un file xml con il metodo responseXML.
La pagian php che dovrebeb creare l'xml è questa:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Controllando con Firebug, ho notato che sulla risposta di responseXML, mi viene dato un parse error sempre sul primo tag del file xml che restituisco.
L'errore riscontrato è:
Errore interpretazione XML: contenuto illegale dopo l'elemento Indirizzo:[...]

Inoltre ho notato che l'errore è sempre alla fine del primo elemento xml stampato. Non ha importanza quanto lungo sia, ma l'errore è sempre alla fine di questo.
Non riesco a capire.

luigidibiasi Profilo | Guru

Non ho mai usato ajax (spero di non dire cavolate) ma sembra che manchi un tag di chiusura... </xml> alla fine del documento?


echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>";
while($result = mysql_fetch_array($query)){
echo "<id>".$result['id']."</id>";
echo "<title>".$result['title']."</title>";
echo "<author>".$result['author']."</author>";
echo "<latitude>".$result['latitude']."</latitude>";
echo "<longitude>".$result['longitude']."</longitude>";
echo "<content>".$result['content']."</content>";
}
>>echo "</xml>";

Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/
http://www.dibiasi.it/

lup0z Profilo | Newbie

No, purtroppo non è per quello, ma ho RISOLTO.

Risolto:
echo "<?xml version="1.0\" encoding=\"ISO-8859-1\"?>"; echo "<nome-elemento>"; while($result = mysql_fetch_array($query)){ echo "<id>".$result['id']."</id>"; echo "<title>".$result['title']."</title>"; echo "<author>".$result['author']."</author>"; echo "<latitude>".$result['latitude']."</latitude>"; echo "<longitude>".$result['longitude']."</longitude>"; echo "<content>".$result['content']."</content>"; } echo "</nome-elemento>";
Un file xml deve contenere un tag contenitore principale.
Spero possa essere utile ad altre persone!
Ciao!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5