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 馃檪
Saludos benignos digo malignos 馃檪
En este post vamos a crear una aplicaci贸n sencilla para conectar C# con MySQL. Manos a la obra 馃檪 Necesitamos – Con[...]
A veces navegando en la internet buscando novedades , investigando o simplemente perdiendo el tiempo 馃檪 se encuentran cos[...]
En esta oportunidad, se deja a disposici贸n de la comunidad de programadores de Bolivia y tambi茅n porque no, del que quie[...]
En este post veremos como enviar solicitudes GET y POST a un API RestFul 聽desde un dispositivo con android. Nuestra apli[...]
Entre los correos y mensajes聽en facebook y whatsapp聽que me llegan (y de entrada聽pido perd贸n a quienes no puedo responder[...]
ASCII acr贸nimo ingl茅s de American Standard Code for Information Interchange (C贸digo Est谩ndar Estadounidense para el Inte[...]