Retroceder   Foros del Web > Programación para sitios web > XML

Respuesta
 
Herramientas Desplegado
Antiguo 11-abr-2008, 05:42   #1 (permalink)
Ragher está en el buen camino
 
Fecha de Ingreso: octubre-2004
Mensajes: 54
Enviar un mensaje por MSN a Ragher
problema al leer xml creado desde php

Hola a todos, espero que algún usuario avanzado con php me pueda ayudar. Tengo un script que crea un archivo de texto y al crearlo le pongo extension xml. Aca va el codigo

$File = miArchivo.xml";
$Handle = fopen($File, 'w');
$Data ="<Texto>texto aquí texto texto texto <br /><br />\r\n</Texto>";
fwrite($Handle, $Data);
fclose($Handle);

Hasta aquí todo bien y creo el xml que luego lo leo con flash. El problema es que el archivo generado cuando lo quiero abir con el explorer me dice:
The XML page cannot be displayed An invalid character was found in text content. Error y si contiene caracteres como la ñ y/o acentos el flash me muestra caracteres raros.

Lo curioso es que si abro con dreamweaver el archivo xml generado desde php y lo grabo sin hacerle ningun cambio este cambia de tamaño en algunos bytes y ahi ya funciona todo bien y si lo abro con el explorer ya me muestra el xml.

En resumen creo que el archivo que genero con php al parecer no cumple con algun formato expecifico de xml

La pregunta es si hay alguna forma de crear el archivo xml y que el mismo funcione correctamente cuando lo abro con el explorer

Espero se entienda
__________________
Pronexo.com Diseño web y Sistemas de gestión
Ragher está desconectado   Responder Citando
Antiguo 11-abr-2008, 09:03   #2 (permalink)
jonathan_miguel ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Ubicación: Argentina
Mensajes: 49
Enviar un mensaje por MSN a jonathan_miguel
Re: problema al leer xml creado desde php

Que tál?? en script de armado de XML estas cometiendo 2 errores y por eso no lo interpreta Internet Explorer:
  1. La primer linea de un archivo XML debe ser su cabecera correspondiente, un ejemplo seria:
    $Data = "<?xml version="1.0" ?>";
  1. Antes de ingresar cualquier "TAG" debe existir un TAG general del fichero, un ejemplo seria:
    $Data .= "<xml>";
    //Cuando termino de escribir todo
    $Data .= "</xml>";

Por último comentarte que PHP tiene extensiones para la lectura/escritura de XML que te pueden hacer el trabajo más fácil y rápido, como ser SimpleXML y DOM.
Espero sea de utilidad.

*************************
www.jomico.com.ar
*************************
jonathan_miguel está desconectado   Responder Citando
Antiguo 11-abr-2008, 09:37   #3 (permalink)
Ragher está en el buen camino
 
Fecha de Ingreso: octubre-2004
Mensajes: 54
Enviar un mensaje por MSN a Ragher
Re: problema al leer xml creado desde php

Hola, gracias por responder. Un ejemplo del archivo que genero es el siguiente:

<body>
<img align='left' src='images/s1.jpg' hspace='-1' vspace='-1'/>
<A HREF="javascript:imagen('control/_argentinapodesta/imagenes/propiedades_alquiler/0001163/0000351b.jpg')">
<img align='right' src='control/_argentinapodesta/imagenes/propiedades_alquiler/0001163/0000351.jpg' width='100' height='64' hspace='10' vspace='20'/></A>

<titulo>Almafuerte 1539</titulo>
<img align='left' src='images/s2.jpg' width='357' height='7' hspace='0' vspace='5'/><br />
<descripcion>
año ECHAGÜE 4149 – B° PALMAR - VENTA IMPECABLE!! Doble ingreso – living – comedor – cocina – cochera – Sala de estar muy amplia – 2 dormitorios – baño – quincho – patio con césped – terraza. Todos los servicios<br />
</descripcion>
<img align='right' src='images/s3.jpg' width='429' height='10' hspace='0' vspace='10'/>
<br /><br />
</body>

Si lo abro con dreanweaver y lo guardo automaticamente cambia el tamaño a unos bytes mas y ya me funciona bien. De lo contrario cuando muestro el xml en el flash los caracteres como la ñ me salen todos mal.

Lo mismo pasa si creo desde 0 un xml con el notepad

Saludos
__________________
Pronexo.com Diseño web y Sistemas de gestión
Ragher está desconectado   Responder Citando
Antiguo 11-abr-2008, 09:48   #4 (permalink)
aloqui tiene algunos puntos positivos de karma
 
Avatar de aloqui
 
Fecha de Ingreso: diciembre-2007
Mensajes: 952
Re: problema al leer xml creado desde php

Para que los caracteres los interprete bien, el fichero xml debe indicar el juego de caracteres que utiliza.
La mayoria de los feeds y librerias trabajan con codificacion utf-8, aunque los editores que muestran las ñ tal cual suelen guardar los ficheros con codificacion ISO-8859-1.
Así pues, como decía jonathan_miguel puedes intentar incluir la codificación en la primera línea del fichero xml. Ejemplos:

<?xml version="1.0" encoding="ISO-8859-1"?>

o

<?xml version="1.0" encoding="UTF-8"?>
aloqui está desconectado   Responder Citando
Antiguo 11-abr-2008, 10:21   #5 (permalink)
Ragher está en el buen camino
 
Fecha de Ingreso: octubre-2004
Mensajes: 54
Enviar un mensaje por MSN a Ragher
Re: problema al leer xml creado desde php

Hola, gracias por sus respuestas, es rarisimo el problema ya probe con <?xml version="1.0" encoding="ISO-8859-1"?> al principio del archivo y con <xml> y </xml> pero siempre hace lo mismo. Solo se soluciona si lo abro con dranweaver y lo vuelvo a cerrar. Para sacarme la duda lo probe en varios servidores y es lo mismo.

Al parecer cuando creo los archivos xml con php me los crea con algun formato incompatible. Tambien probe crearlos con el notepad y me da lo mismo, solo me muestra caracteres estándares y los caracteres como la ñ me los muestra mal.
__________________
Pronexo.com Diseño web y Sistemas de gestión
Ragher está desconectado   Responder Citando
Antiguo 11-abr-2008, 11:00   #6 (permalink)
Ragher está en el buen camino
 
Fecha de Ingreso: octubre-2004
Mensajes: 54
Enviar un mensaje por MSN a Ragher
Re: problema al leer xml creado desde php

Hola, ya solucione el problema.
Resulta que buscando en la web encontre que poniendo en el primer fotograma del flash esta linea System.useCodepage = true;

Ahora ya me toma perfectamente los acentos y ñ.

No hizo falta poner <?xml version='1.0' encoding='ISO-8859-1'?> en los xml

Lo que quedo sin resolver es porque cuando lo abria condreanweaver y lo cerraba funcionaba bien. Calculo que le cambiaba el formato al documento debido a que aumentaba en bites el tamaño del mismo pero visiblemente no se nota
__________________
Pronexo.com Diseño web y Sistemas de gestión
Ragher está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 18:44.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93