Il mio bel gestore generico ashx mi deve restituire un file in formato xml (pesco le coordiante da un db e creo l'xml da dare in pasto a una mappa per mettere i segnalini).
In calce metto il codice che uso... dal messaggio che ottengo sembra che l'xml generato non sia correttamente formattato ma non capisco cosa sbaglio...
Errore interpretazione XML: non well-formed
Indirizzo: http://localhost:60390/usercontrols/markers.ashx
Riga numero 4, colonna 11:</markers>
codice:
Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Dim strsql As String = ""
Dim lat As Decimal = 0
Dim lng As Decimal = 0
Dim trovato As Boolean = False
Dim dt As New DataTable
Using output As New MemoryStream()
Dim writer = New XmlTextWriter(output, Encoding.Default)
writer.Formatting = Formatting.Indented
' aggiungo l'intestazione XML
writer.WriteRaw("<?xml version=""1.0"" encoding=""UTF-8""?>")
writer.WriteStartElement("markers")
'leggo datab con coordinate
....
For Each row In dt.Rows
lat = 0
lng = 0
readcoords(row!an_conto, lat, lng, trovato)
If trovato Then
'apre tag marker
writer.WriteStartElement("marker")
writer.WriteAttributeString("id", i)
writer.WriteAttributeString("name", row!nomemarker.ToString)
writer.WriteAttributeString("address", row!indirizzo.ToString)
writer.WriteAttributeString("lat", lat)
writer.WriteAttributeString("lng", lng)
writer.WriteAttributeString("type", "")
'chiude tag marker
writer.WriteEndElement()
i += 1
End If
Next
End If
End Using
writer.WriteEndElement() 'chiude tag markers
writer.Flush()
writer.Close()
Try
'Set http header in modo che la risposta del server sia del tipo xml (fondamentale!!!)
context.Response.ContentType = "text/xml"
context.Response.BinaryWrite(output.GetBuffer())
Catch ex As Exception
context.Response.Write("Si è verificato un errore durante la generazione del file: chiudere la pagina e riprovare.")
Finally
End Try
End Using
End Sub
Non mi va in exception ma l'xml creato non piace neanche al browser...
Questo è l'xml di esempio che sto cercando di replicare
https://storage.googleapis.com/mapsd...apmarkers2.xml