update Xml
//package it.tava.andbudget.data.parser; import java.io.File; import java.io.IOException; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.xml.sax.SAXException; import org.xmlpull.v1.XmlSerializer; import android.util.Log; import android.util.Xml; public class XmlParser { private final static String TAG = "it.tava.andbudget.xml.XmlParser"; private static final String JAXP = "http://java.sun.com/xml/jaxp/properties/"; private static final String JAXP_SCHEMA_LANGUAGE = JAXP + "schemaLanguage"; private static final String JAXP_SCHEMA_SOURCE = JAXP + "schemaSource"; private static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema"; /** * Compila il file XML che viene passato come parametro e restituisce il Document DOM * associato, null altrimenti. * * @param xml il file XML di cui effettuare il parsing * @param xsd il file XSD schema associato all'XML in input * @param validation se effettuare o meno la validazione del file ottenuto * @return il Document DOM associato al file in ingresso o null altrimenti */ public static Document compileXml(File xml, File xsd, boolean validation) { Document document = null; try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(validation); factory.setNamespaceAware(true); factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); factory.setAttribute(JAXP_SCHEMA_SOURCE, xsd); DocumentBuilder builder = factory.newDocumentBuilder(); document = builder.parse(xml); } catch (SAXException se) { Log.e(TAG, "Error: compilation failed"); } catch (IOException ioe) { Log.e(TAG, "Error: IOException"); } catch (ParserConfigurationException e) { Log.e(TAG, "Error: ParserConfigurationException"); } return document; } public static void updateXml(File xml, File xsd, Document document) { XmlSerializer serializer = Xml.newSerializer(); StringWriter writer = new StringWriter(); try { //Writer w = new FileWriter(new File("prova.xml")); serializer.setOutput(writer); serializer.startDocument("UTF-8", true); serializer.startTag("", "budget"); serializer.endTag("", "budget"); serializer.endDocument(); System.out.println(writer.toString()); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }