Les cuento, quiero hacer un programa que simplemente pida nombre, apellido y rut y los guarde en un archivo XML, y a la vez, al abir nuevamente el programa cargar los datos(Esto podrian ignorarlo, porque primero quiero aprender a guardar bien los datos)....Para ello implemente un arreglo dinamico(no influye, asique ignorenlo si quieren), pero para ir probando solamente quiero guardar 3 espacios (si logro guardar 3, despues podre guadar mas xD)... Por ahora solo puedo guadar solamente 1 espacio(con nombre, apellido, rut) no sé como poder guadar 3...les pongo los codigos...
Cita:
El main:public class empleado {
private String nombre;
private String apellido;
private String rut;
public empleado(String nombre, String apellido, String rut){
this.nombre=nombre;
this.apellido=apellido;
this.rut=rut;
}
public String getNombre(){
return nombre;
}
public String getRut(){
return apellido;
}
public String getEdad(){
return rut;
}
}
private String nombre;
private String apellido;
private String rut;
public empleado(String nombre, String apellido, String rut){
this.nombre=nombre;
this.apellido=apellido;
this.rut=rut;
}
public String getNombre(){
return nombre;
}
public String getRut(){
return apellido;
}
public String getEdad(){
return rut;
}
}
Cita:
Y por ultimo la clase q genera el XML:import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
import org.jdom.Document;
public class main {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
String nombre,apellido,rut;
empleado persona;
ArrayList <empleado> obj_empleado = new ArrayList <empleado>();
//llenar
for(int i=0;i<3;i++){
System.out.println("Nombre");
nombre=sc.nextLine();
System.out.println("Apellido");
apellido=sc.nextLine();
System.out.println("rut");
rut=sc.nextLine();
persona=new empleado(nombre,apellido,rut);
obj_empleado.add(persona);
Document output= guardarXML.genXML(rut, nombre, apellido);
try {
guardarXML.dumpXML(output, "simple2.xml");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
import java.util.ArrayList;
import java.util.Scanner;
import org.jdom.Document;
public class main {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
String nombre,apellido,rut;
empleado persona;
ArrayList <empleado> obj_empleado = new ArrayList <empleado>();
//llenar
for(int i=0;i<3;i++){
System.out.println("Nombre");
nombre=sc.nextLine();
System.out.println("Apellido");
apellido=sc.nextLine();
System.out.println("rut");
rut=sc.nextLine();
persona=new empleado(nombre,apellido,rut);
obj_empleado.add(persona);
Document output= guardarXML.genXML(rut, nombre, apellido);
try {
guardarXML.dumpXML(output, "simple2.xml");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Cita:
Sé cual es mi error, pero no sé como arreglarlo...import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class guardarXML {
// Genera un documento XML
public static Document genXML(String rut, String nombre, String apellido) {
Document doc = new Document();
Element root = new Element("Empleados");
Attribute rutAtrib = new Attribute("rut", rut);
root.setAttribute(rutAtrib);
Element nombreElem = new Element("nombre");
nombreElem.setText(nombre);
root.addContent(nombreElem);
Element apellidoElem = new Element("correo");
apellidoElem.setText(apellido);
root.addContent(apellidoElem);
// Todo documento tiene un nodo raíz
doc.setRootElement(root);
return doc;
}
// Vuelca a fichero el documento
public static void dumpXML(Document doc, String filePath) throws IOException {
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
FileWriter writer = new FileWriter(new File(filePath));
outputter.output(doc, writer);
}
}
import java.io.FileWriter;
import java.io.IOException;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class guardarXML {
// Genera un documento XML
public static Document genXML(String rut, String nombre, String apellido) {
Document doc = new Document();
Element root = new Element("Empleados");
Attribute rutAtrib = new Attribute("rut", rut);
root.setAttribute(rutAtrib);
Element nombreElem = new Element("nombre");
nombreElem.setText(nombre);
root.addContent(nombreElem);
Element apellidoElem = new Element("correo");
apellidoElem.setText(apellido);
root.addContent(apellidoElem);
// Todo documento tiene un nodo raíz
doc.setRootElement(root);
return doc;
}
// Vuelca a fichero el documento
public static void dumpXML(Document doc, String filePath) throws IOException {
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
FileWriter writer = new FileWriter(new File(filePath));
outputter.output(doc, writer);
}
}
Porque en el main, cuando hago el for, cada vez q pido nombre, apellido y rut, los capto y despues guardo el documento, y cuando pido al sigueinte usuario, vuelvo a guadar el documento y se sobrescribe, pero no sabria como hacer que capte los 3 nombres, apellidos y ruts y los mande a 1 solo archivo...o crear un metodo que AGREGE al final del ultimo en un mismo archivo... :S
Gracias de antemano