Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Некорректно создается xml файл


Автор: kBepTu 12.6.2009, 18:22
Привет! 
Возникла проблема при записи xml  в файл. В самом начале xml выводится абракадабра  smile 
Код

¬н


Соответсвенно, нормально его прочитать уже не получается 

Код создания и записи xml в файл
Код

        DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
        Document doc = docBuilder.newDocument();

        Element root = doc.createElement("Settings");
        doc.appendChild(root);

        Comment comment = doc.createComment("This is settings xml");
        root.appendChild(comment);

        this.getRootPane().setName("form");
        buildXMLTreeFromComponent(this.getRootPane(), doc, root);

        File settingsXml = new File(XMLFileName);
        if (!settingsXml.exists()) {
            try {
                if (!settingsXml.createNewFile()) {
                        System.err.println("can\'t create file");
                    }
                } catch (IOException ex) {
                    Logger.getLogger(SettingsFrame.class.getName()).log(Level.SEVERE, null, ex);
                }
        }

        FileOutputStream fileOutputStream = new FileOutputStream(XMLFileName);
        ObjectOutputStream objectOutStream = new ObjectOutputStream(fileOutputStream);

        DOMSource source = new DOMSource(doc);
        StreamResult result = new StreamResult(objectOutStream);

        TransformerFactory transFactory = TransformerFactory.newInstance();
        Transformer transformer = transFactory.newTransformer();
        transformer.setOutputProperty(OutputKeys.ENCODING, "WINDOWS-1251");
        transformer.transform(source, result);
        objectOutStream.close();

Где тут мб косяк?  smile 

Автор: ivg 12.6.2009, 19:05
Цитата(kBepTu @  12.6.2009,  20:22 Найти цитируемый пост)
Где тут мб косяк?

В использовании ObjectOutputStream
Код

25:        OutputStream outputStream = new FileOutputStream(XMLFileName);
26:        //ObjectOutputStream objectOutStream = new ObjectOutputStream(fileOutputStream);
        ...
29:        StreamResult result = new StreamResult(outputStream);
        ...
35:        outputStream.close();

Автор: kBepTu 13.6.2009, 13:30
ivg, Спасибо!  smile 
Все заработало  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)