Hoy me tope con un pequeño problemita, buen la cosa esta asi:

Tengo un autocomplete que obtiene los datos de una consulta via ASP, porfavor no pregunten porque con asp, este ASP me GENERA un Archivo XML haciendo una consulta a la Base de Datos, pero a la hora de imprimir los datos algunos traen caracteres especiales tales como el ampersand,ñ, etc. y me generaba el error XML Parsing Error: not well-formed debido a estos caracteres.

Ahora para solucionarlo hay de 2 sopas

Sopa #1.- Escribir un complejo replace para cambiar estos caracteres.

Sopa #2.-Dependiendo del Lenguaje utilizamos alguna de las Funciones Encode de las que dispongamos en este caso con ASP es: Server.HTMLEncode(), para solucionar el problema.

Aqui dejo el codigo ya solucionado:

[asp]
<%
response.Expires=-1
response.Charset="ISO-8859-1"

set db=server.CreateObject ("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")

db.open(Application("isoerp"))

'IDENTIFICAR COMO XML
response.ContentType="text/xml"

response.Write("“) %>

<%'INICIAR EL XML%>

<%set rs=db.execute("SELECT * FROM tabla")%>
<%while not rs.eof%>
<%=Server.HTMLEncode(rs("nombre"))%>
<%rs.movenext%>
<%wend%>
<%'CERRAR EL XML%>

<%'CERRAR el RECORDSET Y LA CONEXION A LA BD
set rs=nothing
db.close()
set db=nothing

%>
[/asp]

Bueno espero le sea de provecho a alguien :P y por favor EVITEN USAR ASP Mejor PHP ya que el ASP nomas no.

Una Respuesta para “Fix para :XML Parsing Error: not well-formed”

  1. chabelomx
    desde Mexico Dijo:

    Gracias me sirvio =)

    Responder

Responder