Ir al contenido

Responder XML en ASP

Una página creada con ASP clásico no tiene que devolver siempre contenido HTML. También puede responder con un documento XML, siempre que indique el tipo de contenido correcto y genere una estructura válida.

El cliente interpreta la respuesta según las cabeceras HTTP. Por eso debemos configurar Response.ContentType antes de escribir el documento.

Para devolver XML, utilizamos el tipo MIME application/xml:

Response.ContentType = "application/xml"

Algunos sistemas antiguos esperan text/xml, pero application/xml es la opción recomendada para documentos XML de propósito general.

Si el documento utiliza UTF-8, la cabecera y la declaración XML deben indicar la misma codificación.

Response.CodePage = 65001
Response.Charset = "utf-8"

Response.CodePage establece la página de códigos utilizada por ASP, mientras que Response.Charset añade el juego de caracteres a la cabecera Content-Type.

La declaración informa sobre la versión y la codificación del documento. En VBScript, las comillas incluidas dentro de una cadena se duplican.

Response.Write("<?xml version=""1.0"" encoding=""UTF-8""?>")

La declaración debe aparecer al principio de la respuesta, sin espacios ni contenido previo.

Después de la declaración, escribimos una estructura XML bien formada. Cada elemento debe cerrarse correctamente y los valores de los atributos deben ir entre comillas.

Response.Write("<datos>")
Response.Write("<nombre edad=""31"">Víctor</nombre>")
Response.Write("</datos>")

Cuando los valores procedan de usuarios, formularios o bases de datos, deberán escaparse como contenido XML. Para documentos complejos es preferible utilizar una biblioteca o un objeto DOM que construya los nodos y atributos de forma segura.

El siguiente ejemplo devuelve un documento XML válido y codificado en UTF-8:

<%
Option Explicit
Response.Buffer = True
Response.CodePage = 65001
Response.ContentType = "application/xml"
Response.Charset = "utf-8"
Response.Write("<?xml version=""1.0"" encoding=""UTF-8""?>")
Response.Write("<datos>")
Response.Write("<nombre edad=""31"">Víctor</nombre>")
Response.Write("</datos>")
%>

La respuesta generada será equivalente a este documento:

<?xml version="1.0" encoding="UTF-8"?>
<datos>
<nombre edad="31">Víctor</nombre>
</datos>

Este patrón puede utilizarse para integraciones entre sistemas o clientes que necesiten consumir XML. Para nuevas API, también conviene valorar formatos como JSON, según los requisitos del proyecto.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Responder XML en ASP

Descubre cómo Responder XML en ASP genera XML válido con Response.ContentType y UTF‑8, usando código simple y seguro para integraciones rápidas y fiables.

Descargar código