Foros del Web » Programación para mayores de 30 ;) » Programación General »

DOM escribe todo en un mismo renglon

Estas en el tema de DOM escribe todo en un mismo renglon en el foro de Programación General en Foros del Web. Hola. Tengo creado un xml via php, que espacia muy bien los tags xml, con saltos de linea. Asi: <galeria> <item> <nivel2> </nivel2> </item> <item> ...
  #1 (permalink)  
Antiguo 21/08/2009, 17:37
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
DOM escribe todo en un mismo renglon

Hola. Tengo creado un xml via php, que espacia muy bien los tags xml, con saltos de linea. Asi:

<galeria>

<item>
<nivel2>
</nivel2>
</item>

<item>
<nivel2>
</nivel2>
</item>

</galeria>

En cambio, al actualizar con un nuevo item, el DOM escribe asi:

<item> <nivel2> </nivel2></item>

El resultado es mucho menos leible. Y de las muuchas paginas que consulte, solo una mencionaba el problema, y de pasada.

Yo estoy guardando así:

$xml->formatOutput = true;
$xml->save($GLOBALS['archivo_xml']);

Que pasa?
  #2 (permalink)  
Antiguo 25/08/2009, 15:28
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: DOM escribe todo en un mismo renglon

Por favor, comenten. Este es uno de los puntos que me retrasan con mi proyecto. Y ya quisiera entregar este trabajo, que es el primero en que genero xml.
  #3 (permalink)  
Antiguo 26/08/2009, 07:32
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Respuesta: DOM escribe todo en un mismo renglon

Esta pregunta es más para PHP que para XML...Igual checkea la documentación del PHP-DOM...estoy seguro que hay una opción para guardar el XML de forma bonita (identado)

Saludos
__________________
Esteban Quintana
  #4 (permalink)  
Antiguo 26/08/2009, 10:07
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: DOM escribe todo en un mismo renglon

Gracias por esa palabra: "INDENTACION". Consegui un poco mas de informacion, aunque nada definitivo.

Esto debería funcionar:

$xml->formatOutput = true;

Y ahora que me avisas, ya postee en el foro de PHP. Asi es que si obtengo respuesta, la publico.
  #5 (permalink)  
Antiguo 26/08/2009, 18:07
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: DOM escribe todo en un mismo renglon

Lo tengo! Y les cuento, porque no hay data en otros foros y me queme las pestañas buscando solucion.

Se trata de un problema de prioridades al usar load para cargar un xml existente:

$xml = new DOMDocument();
$xml->preserveWhiteSpace = false; // ESTO ES LO IMPORTANTE!!!
$xml->load($archivo_xml);

Antes de load hay que escribir la funcion de whitespace=false

Y luego si la que da el formato ok:

$xml->formatOutput = true;
$xml->save($GLOBALS['archivo_xml']);
  #6 (permalink)  
Antiguo 27/08/2009, 09:40
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Respuesta: DOM escribe todo en un mismo renglon

Felicidades -1 que bueno que lo soluciones y gracias por compartirlo !

__________________
Esteban Quintana
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:44.