Ir al contenido principal

COMO GENERAR XML EN EL LENGUAJE JAVA Y IDE NETBEANS #2

Estimados lectores buen día, gracias por pasarse por aquí, este es su espacio y siempre serán bienvenidos, recuerden que pueden dejar su opinión en cada publicación, también se avisa que toda información publicada aquí es de libre distribución.
En la entrada anterior en lo referente a Java, vimos como instalar la IDE NetBeansmostrando a cada detalle cada paso, continuando en ello en esta ocasión mostraremos como generar un “XML” escribiendo código Java desde la IDE que hemos instalado.
Para ello se ha diseñado y programado una forma la que simula ser un Loginpara dar acceso a usuarios en la cual pedirá el servidor, base de datos, usuario y contraseña tal como se ve en la imagen.
Selección_001
La información que va a almacenar el XML serán los datos de conexión, por ejemplo tomando en cuenta la imagen de arriba seria, localhostcomercial y julio.
El contenido del archivo XML final sera el siguiente:
1
2
3
4
5
6
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Configuracion>
<Servidor>localhost</Servidor>
<DB>comercial</DB>
<Usuario>Julio</Usuario>
</Configuracion>
Bien para ello tenemos que agregar al proyecto las librerias JDOM 2.0.6 el cual podrás descargar de la pagina oficial http://www.jdom.org/ o también del enlace de nuestra cuenta de Mediafire haciendo click aquí.
El próximo paso sera descomprimir y agregar todas las librerías de este paquete que son 5 archivos *.*jar al proyecto, para ello nos vamos al árbol del proyecto, damos click derecho en donde dice libraries y damos clic en add JAR/folder, tal como se muestra en la imagen, al principio batalle para posicionarme en la carpeta donde están las librerías por que hacia doble click en una carpeta y se agregaba toda la carpeta, después se soluciono.
Consejo emergente_002
Luego nos saldrá una ventana en la cual tendremos que buscar las librerías de Jdom que descargamos, una vez descargada podremos ver las librerías agregadas al proyecto así como se ven en la imagen de arriba.
Selección_003
Ya con esto podemos agregar los encabezados en la clase en donde se van a usar las librerías, aunque, no es muy necesario ya que al poner el código el mismo IDE nos marcara de que sera necesario importar las librerías en la clase, de una u otra forma les dejare el código por si desean copiar y pegar para ahorrarse tiempo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package interfaces;
 
import clases.classUsuarios;
import herramientas.conexion;
import java.awt.List;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URLDecoder;
import java.util.jar.Attributes;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
 
import javax.xml.*;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
El siguiente paso sera crear la función que genere nuestro preciado y hermoso XML y usarlo en el transcurso del programa como acceso de configuraciones locales por equipo, entonces les dejo el código para que lo puedan adaptar a sus necesidades
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public void crearXML2() throws ParserConfigurationException, TransformerConfigurationException, TransformerException{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation implementation = builder.getDOMImplementation();
 
Document document = implementation.createDocument(null, "Configuracion", null);
document.setXmlVersion("1.0");
 
Element raiz = document.getDocumentElement();
 
Element nodoServidor = document.createElement("Servidor"); //creamos un nuevo elemento
Text nodoValorServidor = document.createTextNode(this.txtServer.getText()); //Ingresamos la info
nodoServidor.appendChild(nodoValorServidor);
raiz.appendChild(nodoServidor); //pegamos el elemento a la raiz "Documento"
 
Element nododb = document.createElement("DB"); //creamos un nuevo elemento
Text nodoValorDB = document.createTextNode(this.txtBase.getText()); //Ingresamos la info
nododb.appendChild(nodoValorDB);
raiz.appendChild(nododb); //pegamos el elemento a la raiz "Documento"
 
Element nodoUsuario = document.createElement("Usuario"); //creamos un nuevo elemento
Text nodoValorUsuario = document.createTextNode(this.txtUsuario.getText()); //Ingresamos la info
nodoUsuario.appendChild(nodoValorUsuario);
raiz.appendChild(nodoUsuario); //pegamos el elemento a la raiz "Documento"
 
 
Source source = new DOMSource(document);
StreamResult result = new StreamResult(new
 
java.io.File("Conexion.xml"));//nombre del archivo
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(source, result);
}
Y listo, esta función la podrás ejecutar en cualquier parte de la clase en donde este declarada, yo la use al momento de darle click en accesar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
private void cmdAccesarActionPerformed(java.awt.event.ActionEvent evt) {
 try {
 // TODO add your handling code here:
  
  
// File archivoConexion = new File("Conexion.xml");
//
// if (archivoConexion.exists())
// System.out.println("El fichero");
// else
 crearXML2();
  
 conexion con = new conexion();
 con.strServidor=this.txtServer.getText();
 con.strPSWSQL="";
 con.strUsuarioSQL="root";
 con.strBaseDeDatos=this.txtBase.getText();
  
 con.conectado();
 leerConfiguracion();
 frmPrincipal principal= new frmPrincipal();
 classUsuarios usuarios = new classUsuarios();
 if (usuarios.blnChecaUsuarioContra("SELECT * FROM Usuarios where Usuario='"+this.txtUsuario.getText() +"' and Contra='"+this.pswContraseña.getText()+"'")==true){
 this.setVisible(false);
 principal.setVisible(true);
 }
 else
 JOptionPane.showMessageDialog(null, "USUARIO O CONTRASEÑA INCORRECTO"+this.pswContraseña.getText());
 System.out.println("SELECT * FROM Usuarios where Usuario='"+this.txtUsuario.getText() +"' and Contra='"+this.pswContraseña.getText()+"'");
 } catch (ParserConfigurationException ex) {
 Logger.getLogger(frmLogueo.class.getName()).log(Level.SEVERE, null, ex);
 } catch (TransformerException ex) {
 Logger.getLogger(frmLogueo.class.getName()).log(Level.SEVERE, null, ex);
 }
  
  
 }
Y eso seria así de fácil sin complicarse mucho.
Bien espero que les sea de utilidad, yo busque por muchos blogs y algunos de ellos me ayudaron y después se adapto el código para que funcionara de acuerdo a nuestras necesidades.
Saludos no olviden dejar su huella en la caja de comentarios y puntuar la publicación.

0