Foros del Web » Programando para Internet » PHP »

Salida de SimpleXML con muchos saltos de linea

Estas en el tema de Salida de SimpleXML con muchos saltos de linea en el foro de PHP en Foros del Web. Buenas, tengo un pequeño problema, resulta que estoy trabajando con SimpleXML para procesar paginas html de forma dinamica en el servidor y cuando quite lo ...
  #1 (permalink)  
Antiguo 15/10/2011, 17:33
 
Fecha de Ingreso: septiembre-2008
Mensajes: 148
Antigüedad: 15 años, 7 meses
Puntos: 10
Pregunta Salida de SimpleXML con muchos saltos de linea

Buenas, tengo un pequeño problema, resulta que estoy trabajando con SimpleXML para procesar paginas html de forma dinamica en el servidor y cuando quite lo que no se quiere mostrar recien el cliente vea el resultado.

Pero el resultado esta lleno de saltos de linea que yo no inclui:

Código PHP:
Ver original
  1. function pageProcess($xml){
  2.         if(($xml['account']!='LhaN' && $xml['rol']!='Admin')){  //Aca debe comprobar si hay permisos para ver el elemento
  3.             if($xml->getName()!='root'){ //Esto solo sirve para comprobar que no agregue el root
  4.                 echo '<'.$xml->getName();
  5.                 foreach($xml->attributes() as $att => $valor) {
  6.                     echo ' '.$att.'="'.$valor.'"';
  7.                 }
  8.                 echo '>'.$xml;
  9.                 $children=$xml->children();
  10.                 if($children!=null)
  11.                     foreach($children as $child)
  12.                         $this->pageProcess($child);
  13.                 echo '</'.$xml->getName().'>';
  14.             }else{
  15.                 $children=$xml->children();
  16.                 if($children!=null)
  17.                     foreach($children as $child)
  18.                         $this->pageProcess($child);
  19.             }
  20.         }
  21.     }

Esa es la funcion que filtra los elementos que no se deben ver.

Aca el segmento de codigo donde se utiliza la funcion y se da el resultado al cliente.

Código PHP:
Ver original
  1. //Se procesa y se muestra la pagina en el cliente
  2.         ob_start();
  3.         echo $this->doctype;
  4.         $this->pageProcess($this->paginaXml);
  5.         $pagina = ob_get_clean();
  6.         echo $pagina;

Lo siguiente es lo que me muestra el codigo html en el browser:
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>
  2.    
  3.    
  4.    
  5.        
  6.     <title>Basys v0.2</title></head><link rel="stylesheet" href="style/default.css" type="text/css"></link><body>
  7.        
  8.        
  9.        
  10.             <h1>Bienvenido!</h1><b><p>Esta es la pagina por defecto.</p></b><div>
  11.    
  12.     <b>Esto esta en el archivo testdiv.php.</b><div>
  13.    
  14. </div></div></body></html>

Y solo para verificacion, aca esta el contenido, tal cual lo muestra el browser, del xml:
Código XML:
Ver original
  1. <?xml version="1.0"?>
  2. <root>
  3. <html>
  4.     <head>
  5.         <title>Basys v0.2</title>
  6.     </head>
  7.     <link rel="stylesheet" href="style/default.css" type="text/css"/>
  8.     <body>
  9.         <h1>Bienvenido!</h1>
  10.         <b><p>Esta es la pagina por defecto.</p></b>
  11.         <p account="LhaN">Esto no deberia verse</p>
  12.         <div>
  13.     <b>Esto esta en el archivo testdiv.php.</b>
  14.     <div>
  15.     <b rol="Admin">Esto esta en el archivo testdiv2.php y no deveria verse.</b>
  16. </div></div>    </body>
  17. </html></root>

De hecho cuando copio y pego lo que el browser me muestra aca, en relacion al xml, aparecen algunos saltos de linea no se por que.
Código XML:
Ver original
  1. <?xml version="1.0"?>
  2.  
  3. <root>
  4. <html>
  5.     <head>
  6.         <title>Basys v0.2</title>
  7.     </head>
  8.     <link rel="stylesheet" href="style/default.css" type="text/css"/>
  9.     <body>
  10.         <h1>Bienvenido!</h1>
  11.         <b><p>Esta es la pagina por defecto.</p></b>
  12.  
  13.         <p account="LhaN">Esto no deberia verse</p>
  14.         <div>
  15.     <b>Esto esta en el archivo testdiv.php.</b>
  16.     <div>
  17.     <b rol="Admin">Esto esta en el archivo testdiv2.php y no deveria verse.</b>
  18. </div></div>    </body>
  19. </html></root>

Que es lo que esta produciendo esos saltos de linea? Y cual es la mejor manera para quitarlos? La pagina no tiene mucho contenido, por que recien estoy desarrollando el tema de la seguridad, pero cuando la pagina tenga mas contenido me preocupa que eso saltos de linea, que al fin y al cabo son caracteres, me aumenten considerablemente el tamaño del html que recibe el cliente afectando la navegacion en conexiones lentas. Pero tampoco quiero que el servidor se sobre cargue quitando estos saltos de linea.

Un saludo.
  #2 (permalink)  
Antiguo 16/10/2011, 08:30
 
Fecha de Ingreso: septiembre-2008
Mensajes: 148
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: Salida de SimpleXML con muchos saltos de linea

Viendo y considerando que no tengo ni una sola respuesta, que tal alguna sugerencia de como solucionar el problema? Consideran que mi preocupacion de que se sobredimencione el html debido a los saltos de linea es injustificada? Creen que merece la pena intentar resolver el problema?

Un saludo.

Etiquetas: html, muchos, salida, saltos, simplexml
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 13:28.