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
//urlArchivo="/mnt/sdcard/data/data/com.foca.deboInventario";
File archivo = new File(urlArchivo);
File parent = new File(archivo.getParent());
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