Jak zapisać do pliku Document pliku XML ?

0

Witam

Mam taki kod do pobrania XML a.

        
        DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
        Document doc = docBuilder.parse(new File("baza.xml"));
        doc.getDocumentElement ().normalize ();

Jak teraz ten org.w3c.dom.Document;zapisać ??? Po prostu nie wiem [???]

0

Korzystając z twojej dobrej (jak zawsze ) rady wypociłem coś takiego: ;-P

  DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();

            DOMImplementation domImpl = registry.getDOMImplementation("LS 3.0");//nie mam pojęcia co to jest :(

            DOMImplementationLS implLS = (DOMImplementationLS) domImpl;

            LSSerializer dom3Writer = implLS.createLSSerializer();

            LSOutput output = implLS.createLSOutput();

            OutputStream outputStream = new FileOutputStream(new File("output.xml"));
            output.setByteStream(outputStream);

            output.setEncoding("UTF-8");
            dom3Writer.write(doc, output);

zamieszczam bo może sie komuś przyda.
Kod nie działa jeśli plik output.xml nie istnieje, trochę lipa, kombinuje jak to zmienić.

0

Szybka podpowiedź. Nie używaj anonimowego obiektu tylko, niech funkcja przyjmuje parametr:


pulbic void myXMLFileWriter(File outputFile){
DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();

            DOMImplementation domImpl = registry.getDOMImplementation("LS 3.0");//nie mam pojęcia co to jest :(

            DOMImplementationLS implLS = (DOMImplementationLS) domImpl;

            LSSerializer dom3Writer = implLS.createLSSerializer();

            LSOutput output = implLS.createLSOutput();

            OutputStream outputStream = new FileOutputStream(outputFile);
            output.setByteStream(outputStream);

            output.setEncoding("UTF-8");
            dom3Writer.write(doc, output);
}

Wtedy można dodać warunki i wyrzucać wyjątek file not exist.

1 użytkowników online, w tym zalogowanych: 0, gości: 1