Ver Mensaje Individual
  #11 (permalink)  
Antiguo 08/05/2009, 00:58
zakabalt
 
Fecha de Ingreso: mayo-2008
Mensajes: 65
Antigüedad: 16 años
Puntos: 0
Respuesta: Printear en orden alfabetico

Ya conseguí escribir lo que necesitaba, por ejemplo:

Código PHP:
INBOX
         Carpeta1
                Carpeta11
                Carpeta12
                     Carpeta121
         Carpeta2
                Carpeta21
                      Carpeta211
                      Carpeta212
                Carpeta22
          Trash 
Pero ahora necesito una cos más complicada y es que quiero generar un xml con esa jerarquia, por lo que tengo que poner etiquetas y logro poner la etiqueta del principio, pero no la que cierra cada apartado.

Código PHP:
<carpeta>INBOX
    
<sub2>Carpeta1
        
<sub3>Carpeta11
        
<sub2>Carpeta2
            
<sub3>Carpeta21
            
<sub3>Carpeta22
    
<sub2>Drafts
    
<sub2>Sent
    
<sub2>Trash
</carpeta
Tengo esto pero no se que puedo hacer para tener esto:

Código PHP:
<carpeta>INBOX
    
<sub2>Carpeta1
        
<sub3>Carpeta11</sub3>
         </
sub2>    
         <
sub2>Carpeta2
        
<sub3>Carpeta21</sub3>
        <
sub3>Carpeta22>/sub3>
        </
sub2>
    <
sub2>Drafts</sub2>
    <
sub2>Sent</sub2>
    <
sub2>Trash</sub2>
</
carpeta
Para adelante se como crear la etiqueta, pero no se identificar cuando salgo de un grupo para poder cerrarlo.

El código que utilizo es este:

Código PHP:
for (int i=0;i<listaCarpetas.length;i++) 
        {
            
lista.add((listaCarpetas[i].getFullName()));//meter lo que necesito en una lista
            
java.util.Collections.sort(lista);//ordenar la lista
        
}
        
textOut.write("<carpeta>INBOX\n");
        for (
int j=0;j<lista.size();j++)
        {
            
tmp lista.get(j).split("\\.");
            for(
int k=1;k<tmp.length;k++)//hacer las respectivas tabulaciones
                
textOut.write("\t");
            
textOut.write("<sub"+tmp.length+">");
            
textOut.write(tmp[tmp.length-1]);//escribir solo el hijo
            
textOut.write("\n");
        }    
        
textOut.write("</carpeta>"); 
PD: En las etiquetas pone PHP pero es java.

Última edición por zakabalt; 08/05/2009 a las 01:03