Aniadido exportar xml
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package Logica;
|
||||
|
||||
import java.io.EOFException;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
@@ -12,6 +13,24 @@ import java.time.Month;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Vector;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.Result;
|
||||
import javax.xml.transform.Source;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerConfigurationException;
|
||||
import javax.xml.transform.TransformerException;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.TransformerFactoryConfigurationError;
|
||||
import javax.xml.transform.dom.DOMSource;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
|
||||
import org.w3c.dom.DOMImplementation;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Text;
|
||||
|
||||
public class Meses {
|
||||
private ArrayList<Mes> meses;
|
||||
private int mesActual=0;
|
||||
@@ -124,6 +143,96 @@ public class Meses {
|
||||
return ret;
|
||||
}
|
||||
|
||||
public void exportarXML() {
|
||||
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder builder;
|
||||
File fichero = new File("gestiones.xml");
|
||||
try {
|
||||
builder = factory.newDocumentBuilder();
|
||||
DOMImplementation dom = builder.getDOMImplementation();
|
||||
Document documento = dom.createDocument(null, "xml", null);
|
||||
Element raiz = documento.createElement("raiz");
|
||||
documento.getDocumentElement().appendChild(raiz);
|
||||
Element nodoMeses;
|
||||
Element nodoGestion;
|
||||
Element nodoTransaccion;
|
||||
Element nodoDatos;
|
||||
Text dato;
|
||||
for(Mes mes:this.meses) {
|
||||
nodoMeses = documento.createElement("mes");
|
||||
raiz.appendChild(nodoMeses);
|
||||
nodoDatos = documento.createElement("nombre");
|
||||
nodoMeses.appendChild(nodoDatos);
|
||||
dato = documento.createTextNode(mes.getMes().toString());
|
||||
nodoDatos.appendChild(dato);
|
||||
nodoDatos = documento.createElement("anio");
|
||||
nodoMeses.appendChild(nodoDatos);
|
||||
dato = documento.createTextNode(String.valueOf(mes.getAnio()));
|
||||
nodoDatos.appendChild(dato);
|
||||
nodoDatos = documento.createElement("dineroRestante");
|
||||
nodoMeses.appendChild(nodoDatos);
|
||||
dato = documento.createTextNode(String.valueOf(mes.getTotal()));
|
||||
nodoDatos.appendChild(dato);
|
||||
nodoDatos = documento.createElement("numeroGestiones");
|
||||
nodoMeses.appendChild(nodoDatos);
|
||||
dato = documento.createTextNode(String.valueOf(mes.nGestiones));
|
||||
nodoDatos.appendChild(dato);
|
||||
for(Gestion gestion:mes.gestiones) {
|
||||
nodoGestion = documento.createElement("gestion");
|
||||
nodoMeses.appendChild(nodoGestion);
|
||||
nodoDatos = documento.createElement("Nombre");
|
||||
nodoGestion.appendChild(nodoDatos);
|
||||
dato = documento.createTextNode(gestion.getNombre());
|
||||
nodoDatos.appendChild(dato);
|
||||
nodoDatos = documento.createElement("Dinero");
|
||||
nodoGestion.appendChild(nodoDatos);
|
||||
dato = documento.createTextNode(String.valueOf(gestion.getSuma()));
|
||||
nodoDatos.appendChild(dato);
|
||||
nodoDatos = documento.createElement("EsPositivo");
|
||||
nodoGestion.appendChild(nodoDatos);
|
||||
dato = documento.createTextNode(String.valueOf(gestion.esIngreso()));
|
||||
nodoDatos.appendChild(dato);
|
||||
for(Transaccion transaccion:gestion.getElementos()) {
|
||||
nodoTransaccion = documento.createElement("transaccion");
|
||||
nodoGestion.appendChild(nodoTransaccion);
|
||||
nodoDatos = documento.createElement("Nombre");
|
||||
nodoTransaccion.appendChild(nodoDatos);
|
||||
dato = documento.createTextNode(transaccion.getNombre());
|
||||
nodoTransaccion.appendChild(dato);
|
||||
nodoDatos = documento.createElement("Fecha");
|
||||
nodoTransaccion.appendChild(nodoDatos);
|
||||
dato = documento.createTextNode(transaccion.getDia().toString());
|
||||
nodoTransaccion.appendChild(dato);
|
||||
nodoDatos = documento.createElement("Dinero");
|
||||
nodoTransaccion.appendChild(nodoDatos);
|
||||
dato = documento.createTextNode(String.valueOf(transaccion.getDinero()));
|
||||
nodoTransaccion.appendChild(dato);
|
||||
}
|
||||
}
|
||||
}
|
||||
Source src = new DOMSource(documento);
|
||||
Result result = new StreamResult(fichero);
|
||||
|
||||
Transformer transformer = null;
|
||||
transformer = TransformerFactory.newInstance().newTransformer();
|
||||
transformer.transform(src, result);
|
||||
|
||||
} catch (ParserConfigurationException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (TransformerConfigurationException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (TransformerFactoryConfigurationError e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (TransformerException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Mes implements Serializable{
|
||||
|
||||
Reference in New Issue
Block a user