Sunteți pe pagina 1din 4

package Logica;

import java.io.File;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

/**
*
* @author WILLY
*/
public class fichero {

public static void main(String[] args) {


String nombre = "src/logica/DATOSGUARDADOS.xml";
fichero a = new fichero();
Object datosfichero[][] = a.buscando_datos_en_xml(nombre);
// System.out.println("RECORIENDO DATOS");
a.agregando_datos_en_xml( datosfichero);
// for (int i = 0; i < datosfichero.length; i++) {
// System.out.println("===============");
// System.out.println("usuario" + i);
//
//
// System.out.println("id" + datosfichero[i][0]);
// System.out.println("nombree"+datosfichero[i][1]);
// System.out.println("apellidos"+datosfichero[i][2]);
//
// System.out.println("/////////////");
// }

public Object[][] buscando_datos_en_xml(String nombrearchivo) {//para obtener


todos los usuarios
System.out.println("buscando isuarios en " + nombrearchivo);
Object[][] listadeusuarios=null ;//
try {

DocumentBuilderFactory intanciaxml =
DocumentBuilderFactory.newInstance();//creando instancia del documento
DocumentBuilder buil = intanciaxml.newDocumentBuilder(); //creando
nuevo documento
File nuevofile = new File(nombrearchivo); // abriendo el archivo

if (nuevofile.exists()) {//verificando si el archivo existe

Document doc = buil.parse(nuevofile);// parse al archivo


Element tag_raiz = doc.getDocumentElement();//pude salir error si
se hace la importacion con la primera opcion que sale para importar .Elegir la
segunda
// doc_raiz.getNodeName();
System.out.println("nodo padre :" + tag_raiz.getNodeName());
NodeList list_tag_user = tag_raiz.getElementsByTagName("user");
System.out.println("cuantos usuarios hay? = " +
list_tag_user.getLength());
if (list_tag_user.getLength()!=0 ) {
if (list_tag_user.getLength()==5) {// si la lista esta llena
obtiee los datos
listadeusuarios= new Object[5][3];
JOptionPane.showMessageDialog(null, "lista de Usuarios
Llena, elimine para agregar otro Usuario", "BUSCANDO DATOS", 1, null);
JOptionPane.showMessageDialog(null, "obteniendo datos de la
lista llena", "BUSCANDO DATOS", 1, null);

for (int i = 0; i < list_tag_user.getLength(); i++) {

Node nodo = list_tag_user.item(i);//obtine uno por uno los


nodos
Element w = (Element) nodo; //se crea un nodo elemento

NodeList list_node = w.getElementsByTagName("id_user");//


se visualiza el id del usuario i
System.out.println("id= " +
list_node.item(0).getChildNodes().item(0).getNodeValue());//imprimo
listadeusuarios[i][0] =
list_node.item(0).getChildNodes().item(0).getNodeValue();//lo guardo en el arreglo

list_node = w.getElementsByTagName("nom_user");
System.out.println("nombre= " +
list_node.item(0).getChildNodes().item(0).getNodeValue());
listadeusuarios[i][1] =
list_node.item(0).getChildNodes().item(0).getNodeValue();
list_node = w.getElementsByTagName("apell_user");

System.out.println("apellidos=" +
list_node.item(0).getChildNodes().item(0).getNodeValue());
listadeusuarios[i][2] =
list_node.item(0).getChildNodes().item(0).getNodeValue();
}
}else{ // si no esta llena pero contiene los datos se muestran
tambien

JOptionPane.showMessageDialog(null, "lista de Usuarios no llena


", "BUSCANDO DATOS", 1, null);
JOptionPane.showMessageDialog(null, "obteniendo datos de la
lista ", "BUSCANDO DATOS", 1, null);

for (int i = 0; i < list_tag_user.getLength(); i++) {


listadeusuarios = new Object[i][3];//
Node nodo = list_tag_user.item(i);//obtine uno por uno los
nodos
Element w = (Element) nodo; //se crea un nodo elemento

NodeList list_node = w.getElementsByTagName("id_user");//


se visualiza el id del usuario i
System.out.println("id= " +
list_node.item(0).getChildNodes().item(0).getNodeValue());//imprimo
listadeusuarios[i][0] =
list_node.item(0).getChildNodes().item(0).getNodeValue();//lo guardo en el arreglo

list_node = w.getElementsByTagName("nom_user");
System.out.println("nombre= " +
list_node.item(0).getChildNodes().item(0).getNodeValue());
listadeusuarios[i][1] =
list_node.item(0).getChildNodes().item(0).getNodeValue();
list_node = w.getElementsByTagName("apell_user");

System.out.println("apellidos=" +
list_node.item(0).getChildNodes().item(0).getNodeValue());
listadeusuarios[i][2] =
list_node.item(0).getChildNodes().item(0).getNodeValue();
}

//
}else{
listadeusuarios=null;
JOptionPane.showMessageDialog(null, "usuario admi", "BUSCANDO
DATOS", 2, null);

} else {
JOptionPane.showMessageDialog(null, "No se encuentra el archivo : "
+ nombrearchivo, "ATENCI�N", 0, null);
}

} catch (Exception e) {
System.out.println("error : "+e);
}
return listadeusuarios;
}

public void agregando_datos_en_xml( Object[][] infoxml) {

try {
DocumentBuilderFactory intanciaxml =
DocumentBuilderFactory.newInstance();//creando instancia del documento
DocumentBuilder buil = intanciaxml.newDocumentBuilder(); //creando
nuevo documento
File nuevofile = new File(""); // abriendo el archivo

if (nuevofile.exists()) {//verificando si el archivo existe

Document doc = buil.parse("src/logica/DATOSGUARDADOS.xml");// parse


al archivo
Element tag_raiz = doc.getDocumentElement();//pude salir error si
se hace la importacion con la primera opcion que sale para importar .Elegir la
segunda
// doc_raiz.getNodeName();
System.out.println("nodo padre :" + tag_raiz.getNodeName());
NodeList list_tag_user = tag_raiz.getElementsByTagName("user");

System.out.println("cuantos usuarios hay? = " +


list_tag_user.getLength());}
// }
if (infoxml == null) {
//agregamos usuario admi
JOptionPane.showMessageDialog(null, "usuario admi", "Agregando
datos", 2, null);

//nuevousuario[0]="ho";

} else {
if (infoxml.length == 5) {
JOptionPane.showMessageDialog(null, "lista de Usuarios Llena,
elimine para agregar otro Usuario", "agregando datos", 1, null);
} else if (infoxml.length < 5) {
//agregamos al uasuario normal
JOptionPane.showMessageDialog(null, "agregando usuarios
normales", "agregando datos", 2, null);
}
}

} catch (Exception e) {System.out.println("error "+e);}

}
}

S-ar putea să vă placă și