public static void guardarArchivoXML(ListaPartida listaDePartidas) { Partida nodoAuxiliar; /* Se crea una raiz de la estructura */ Element root = new Element("partidas"); /* Es posible agregar atributos a la estructura inicial */ root.setAttribute("tipo", "lista de partidas"); Iterator iterador = listaDePartidas.getIterator(); while (iterador.hasNext()) { /* Se crea la etiqueta "usuario" */ Element partidas = new Element("partida"); nodoAuxiliar = (Partida) iterador.next(); /* Se crean las etiquetas nombre, apellido y cargo */ Element nick = new Element("nick"); Element ID = new Element("ID"); Element fechainicio = new Element("fechainicio"); /* Se inicializa cada etiqueta con sus valores de la lista */ nick.setText(nodoAuxiliar.getNickname()); ID.setText(Integer.toString(nodoAuxiliar.getID())); fechainicio.setText(nodoAuxiliar.getFechainicio()); /* Se añaden las etiquetas a la etiqueta principal (usuario) */ /* estableciendo que un usuario tiene nombre, apellido y cargo */ partidas.addContent(nick); partidas.addContent(ID); partidas.addContent(fechainicio); /* Se añade el nuevo usuario a la estructura XML */ root.addContent(partidas); } /* Se crea un documento nuevo */ Document doc = new Document(root); try { /* Se genera un flujo de salida de datos XML */ XMLOutputter out = new XMLOutputter(); /* Se asocia el flujo de salida con el archivo donde se guardaran los datos */ FileOutputStream file = new FileOutputStream(nombreArchivoPartida); /* Se manda el documento generado hacia el archivo XML */ out.output(doc, file); /* Se limpia el buffer ocupado por el objeto file y se manda a cerrar el archivo */ file.flush(); file.close(); /* En este caso se manda a imprimir el archivo por la consola */ /* ESTE PROCESO NO ES OBLIGATORIO PARA PROCESAR EL XML */ out.output(doc, System.out); } catch (Exception e) { e.printStackTrace(); } }