Agregar atributo encoding a la instruccion de procesamiento

31/08/2004 - 23:02 por jb_grenouille | Informe spam
Hola a todos

Tengo el siguiente codigo VBScript que se ejecuta en un
script del lado del cliente en una pagina asp:

dim xmlDoc
set xmlDoc = CreateObject("Microsoft.xmlDom")
xmlDoc.loadXml "<?xml version='1.0' encoding='ISO-8859-
1' ?><ROOT></ROOT>"


El problema que tengo es que el atributo "encoding" de la
instruccion de procesamiento se pierde.

Intente usando esto:

dim xmlDoc, pi
set xmlDoc = CreateObject("Microsoft.xmlDom")
xmlDoc.loadXml "<ROOT></ROOT>"
set pi = xmlDoc.createProcessingInstruction
("xml", "version='1.0' encoding='ISO-8859-1'")
xmlDoc.insertBefore pi, xmlDoc.childNodes.item(0)


pero ocurre lo mismo, la instruccion de procesamiento en
ambos casos termina siendo:

<?xml version="1.0"?>


La trama xml es enviada usando xmlHttp al servidor para
ser procesada y es necesario que contenga el atributo
encoding="ISO-8859-1"

Como puedo hacer?

Cualquier consejo sera bienvenido

Gracias anticipadas por sus comentarios

saludos
 

Leer las respuestas

#1 Derek Harmon
05/09/2004 - 06:25 | Informe spam
"jb_grenouille" wrote in message news:3bca01c48f9d$d0e2f9f0$
El problema que tengo es que el atributo "encoding" de la
instruccion de procesamiento se pierde.


: :
set pi = xmlDoc.createProcessingInstruction
("xml", "version='1.0' encoding='ISO-8859-1'")
xmlDoc.insertBefore pi, xmlDoc.childNodes.item(0)

pero ocurre lo mismo, la instruccion de procesamiento en
ambos casos termina siendo:

<?xml version="1.0"?>



¿Usted está utilizando esto?

xmlHttp.send xmlDoc

¿O éste?

xmlHttp.send xmlDoc.xml

Porque esta segunda instrucción debe convertir sus datos en
los caracteres del Unicode. Por lo tanto que pierde el attributo
"encoding" en la declaración de XML. Es necesario para el
XMLDOM hacerlo porque el method loadXml no podría
leer el texto con otros caracteres además del Unicode.

El primero instrucción debe preservir encoding=ISO-8859-1.
Está O.K. con IXmlHttpRequest porque se acepta ese IDispatch
objeto como su XMLDOM. No era necesario que usted cambia
el XML al texto antes de usted llamada xmlHttp.send.

Adicionalmente, puede ser una buena idea que hacer un título
de HTTP por tipo del contenido. Por ejemplo,

xmlHttp.setRequestHeader "Content-Type", "text/xml; charset=ISO-8859-1"

Yo espero que mi ayuda le haya ayudado.


Saludos,

Derek Harmon

Preguntas similares