package com.focasoftware.deboinventario; import android.os.Environment; import org.w3c.dom.Document; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Objects; import javax.xml.transform.OutputKeys; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; /** * Clase para convertir un documento en forma de DOM a un archivo XML para su posterior * uso o envo * @author GuillermoR * */ public class HttpWriter{ /** * Convierte un documento DOM en un archivo XML a la direccion y nombre * indicados en el url *

1 Creacion del fuente del DOM *

2 Creacion del fichero de salida *

3 Configuracion del transformador de documento *

4 Realizamos la transformacion * */ public static void transformerXml(Document document, String urlArchivo){ try { //1 Creacion del fuente del DOM Source source = new DOMSource(document); //2 Creacion del fichero de salida File archivo = new File(urlArchivo); File parent = new File(String.valueOf(archivo)); if (!parent.exists()) { archivo.mkdirs(); } //Result resultat = new StreamResult(archivo); //3 Configuracion del transformador de documento TransformerFactory fabricaTransformacion = TransformerFactory.newInstance(); Transformer transformador = fabricaTransformacion.newTransformer(); transformador.setOutputProperty(OutputKeys.INDENT, "yes"); transformador.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1"); StreamResult resultat = new StreamResult(new File(parent + "/", "deboInventarioExport.xml").getPath()); //4 Realizamos la transformacion transformador.transform(source, resultat); }catch(Exception e){ e.printStackTrace(); } } // public static void transformerXml(Document document, String urlArchivo) { // try { // //1 Creacion del fuente del DOM // Source source = new DOMSource(document); // // //2 Creacion del fichero de salida // File archivo = new File(urlArchivo); // File parent = new File(archivo.getParent()); // if (!parent.exists()) { // archivo.mkdirs(); // } // // // //3 Configuracion del transformador de documento // TransformerFactory fabricaTransformacion = TransformerFactory.newInstance(); // Transformer transformador = fabricaTransformacion.newTransformer(); // transformador.setOutputProperty(OutputKeys.INDENT, "yes"); // transformador.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1"); // StreamResult resultat = new StreamResult(new File(parent+"/", "deboInventarioExport.xml").getPath()); // //4 Realizamos la transformacion // transformador.transform(source, resultat); // // }catch(Exception e){ // e.printStackTrace(); // } // } /* @Override public void onCreate(Bundle savedInstanceState) { // Por fin creamos la pgina: super.onCreate(savedInstanceState); try{ hash1.put("ID_MED","1"); hash1.put("PER","2011/07"); hash1.put("LEAN", "1000"); hash1.put("LEAC","2000"); hash1.put("VAL","123456"); hash1.put("FECHA_TOMA", "2011/08/15 11:30:25"); hash1.put("ID_ERROR","0"); hash1.put("OBSERVACION",""); hash1.put("ID_OPE", "1"); listaTodasMediciones.put("1",hash1); //listaTodasMediciones.put("2",hash2); //listaTodasMediciones.put("3",hash3); // Cration d'un nouveau DOM DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance(); DocumentBuilder constructeur = fabrique.newDocumentBuilder(); Document document = constructeur.newDocument(); // Proprits du DOM document.setXmlVersion("1.0"); document.setXmlStandalone(true); // Cration de l'arborescence du DOM //Element raiz = document.createElement("WEBs"); Element titulo = document.createElement("VI_AGUA_FROM_TABLET"); //raiz.appendChild(titulo); Enumeration enumeration = listaTodasMediciones.keys(); while (enumeration.hasMoreElements() == true) { String key = enumeration.nextElement(); Hashtable hash = listaTodasMediciones.get(key); Element medicion = document.createElement("MEDICION"); Enumeration e = hash.keys(); while (e.hasMoreElements() == true) { String key2 = e.nextElement(); String value2 = hash.get(key2); Element elemento = document.createElement(key2); elemento.setTextContent(value2); medicion.appendChild(elemento); } titulo.appendChild(medicion); } //raiz.appendChild(titulo); document.appendChild(titulo); //raiz); //Sauvegarde du DOM dans un fichier XML transformerXml(document, ParametrosAgua.URL_DOCUMENTO_XML); HttpSender sender = new HttpSender(Parametros.CODIGO_SOFT_DEBOAGUA); sender.send_xml(ParametrosAgua.URL_DOCUMENTO_XML); }catch(Exception e){ e.printStackTrace(); } } */ }