Un post cortito de fin de semana 🙂 , este trata de la forma de extraer la información de una base de datos formar una estructura XML y guardar este en disco.
¿Que utilizaremos?
1. Lo primero que necesitamos es crear una base de datos y añadir una tabla «persona», el código es:
CREATE TABLE persona ( ci varchar(7) NOT NULL, nombre varchar(60) NOT NULL, fecha_nac datetime NOT NULL, profesion varchar(32) NOT NULL, PRIMARY KEY (ci) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Por demás esta decir que debes añadirle algunos datos 🙂
2. Crea un nuevo proyecto en Netbeans o el IDE que utilices y crea una nueva clase que llamaremos «xml.java».
import java.io.*; import java.util.*; import java.sql.*; import org.jdom.*; import org.jdom.output.*; /** * @web https://www.jc-mouse.net/ * @author Mouse */ public class xml { //archivo destino private String file="C:/miarchivo.xml"; /* DATOS PARA LA CONEXION */ private String db = "BASE_DE_DATOS"; private String user = "USUARIO"; private String password = "PASSWORD"; private Connection conn = null; public xml(){ conectar(); } private void conectar() { String url = "jdbc:mysql://localhost/"+this.db; try{ //obtenemos el driver de para mysql Class.forName("com.mysql.jdbc.Driver"); //obtenemos la conexión conn = DriverManager.getConnection(url, this.user , this.password ); if (conn!=null){ System.out.println("OK base de datos "+this.db+" listo"); } }catch(SQLException e){ System.out.println(e); }catch(ClassNotFoundException e){ System.out.println(e); } } public void getXML() { Document doc = new Document(); //etiqueta principal Element root = new Element("DataBase"); doc.setRootElement(root); try { //consulta String q = "SELECT * FROM persona"; Statement stmt = conn.createStatement(); ResultSet resultset = stmt.executeQuery(q); ResultSetMetaData resultmetadata = resultset.getMetaData(); //obtiene la cantidad de columnas de la tabla int numCols = resultmetadata.getColumnCount(); while (resultset.next()) { List elmts = new ArrayList(); for (int i=1; i <= numCols; i++) { //obtiene nombre de columna String colName = resultmetadata.getColumnName(i); //Obtiene el contendio de la celda String colVal = resultset.getString(i); //forma los elementos para el XML Element elmt = new Element(colName); elmt.setText(colVal); elmts.add(elmt); } //para la etiqueta Element row = new Element("registro"); //añade el registro en xml row.setContent(elmts); root.addContent(row); } //cierra database resultset.close(); stmt.close(); conn.close(); // Graba el archiv XML en disco XMLOutputter outputter = new XMLOutputter( Format.getPrettyFormat() ); try { outputter.output(doc, new FileOutputStream ( file )); System.out.println("Arhivo XML creado en " + file); } catch (IOException e) { System.out.println(e); } } catch (SQLException e) { System.err.println(e); } } }
Ya para terminar ejecuta la clase desde el main y listo 🙂
<?xml version="1.0" encoding="UTF-8"?> <DataBase> <registro> <ci>0000001</ci> <nombre>Ana Lisa Melano</nombre> <fecha_nac>1988-03-08 22:18:58.0</fecha_nac> <profesion>Bailarina</profesion> </registro> <registro> <ci>0000002</ci> <nombre>Cindy Entes</nombre> <fecha_nac>1996-03-26 22:20:05.0</fecha_nac> <profesion>Odontologo</profesion> </registro> <registro> <ci>0000003</ci> <nombre>Zoila Concha Tumadre</nombre> <fecha_nac>1987-03-28 22:21:19.0</fecha_nac> <profesion>Astronauta</profesion> </registro> </DataBase>
Eso es todo, descargate el ejemplo «jdomdb» gratis 🙂 (Actualizado 04/01/2026)
Saludos benignos digo malignos 🙂
En este post les comparto una plataforma en línea diseñada para crear y compartir diagramas de flujo completamente grati[...]
En un post anterior se vio como agregar un código DataMatrix en reportes con iReport Designer sin embargo actualmente el[...]
En muchas ocasiones es necesaria la personalización de componentes java para que estos se adecuen a nuestros requerimien[...]
Hola 🙂 en esta post se deja a disposición de la comunidad de programadores que quiera aprender un poquito sobre Factura[...]
El siguiente código te permite abrir enlaces web desde un JLabel, ademas aprovechando el soporte a etiquetas HTML del co[...]
Utilizando pygame para hacer gráficos en python, se muestra a continuación un sencillo ejemplo de cómo utilizar esta lib[...]