XML-Serialisierung klappt nicht

Spitfire777

Bekanntes Mitglied
Hi,

irgendwie will bei mir die Serialisierung von Objekten nicht so recht klappen.. :( Das grobe Gerüst der XML-Datei wird geschrieben, der Inhalt fehlt aber.


Methode zur Serialisierung:
Java:
    public static void write() throws IOException  {
        File outputFile = new File(CONFIG_FILE_PATH);
        if (!outputFile.exists()) outputFile.createNewFile();
        
        try {
            FileOutputStream fos = new FileOutputStream(outputFile);
            XMLEncoder xmlEnc = new XMLEncoder(new BufferedOutputStream(fos));
            xmlEnc.writeObject(settings);
            xmlEnc.close();
        }
        catch (FileNotFoundException exc) {
            exc.printStackTrace();
            throw new IOException();
        }
    }

Die Klasse des zu serialisierenden Objektes
Java:
public class Settings implements Serializable {
    private String defaultConfigFile = "XXXXXXXX_Default";
    private boolean startUpWithOS = false;
    private String lookAndFeel = "SystemLookAndFeel";
    private String mainFrameMode = "windowed";
    private boolean autoReconnect = true;
    

    public String getDefaultConfigFile() {
        return defaultConfigFile;
    }

    public void setDefaultConfigFile(String defaultConfigFile) {
        this.defaultConfigFile = defaultConfigFile;
    }

    public boolean isStartingUpWithOS() {
        return startUpWithOS;
    }

    public void setStartingUpWithOS(boolean startUpWithOS) {
        this.startUpWithOS = startUpWithOS;
    }

    public String getLookAndFeel() {
        return lookAndFeel;
    }

    public void setLookAndFeel(String lookAndFeel) {
        this.lookAndFeel = lookAndFeel;
    }
    
    public String getMainFrameMode() {
        return mainFrameMode;
    }

    public void setMainFrameMode(String mainFrameMode) {
        this.mainFrameMode = mainFrameMode;
    }

    public boolean isAutoReconnectEnabled() {
        return autoReconnect;
    }

    public void setAutoReconnect(boolean autoReconnect) {
        this.autoReconnect = autoReconnect;
    }
}

Der Output:

[XML]
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.6.0_20" class="java.beans.XMLDecoder">
<object class="XXXXXXXX.Settings"/>
</java>
[/XML]
 

eRaaaa

Top Contributor
Java:
xmlEnc.writeObject(settings);

Was ist settings? Was hast du bisher mit dem Objekt gemacht?
Java:
		Settings s = new Settings();
		s.setAutoReconnect(true); 
		s.setMainFrameMode("hallo mainframe");
		s.setStartingUpWithOS(true);

sollte zumindest
Code:
mainFrame
und
Code:
startUpWithOS
schreiben. Beim autoReconnect hat sich nichts geändert, bzw. der Defaultwert ist ja eh true! Deshalb würde auch ein
Code:
xmlEnc.writeObject(new Settings());
nicht viel Sinn machen...
 

Spitfire777

Bekanntes Mitglied
Gemacht noch nichts, ich bin davon ausgegangen, dass er die Standardwerte serialisiert.
Hab wie in deinem Beispiel den Attributen nun nachträglich mal Werte zugewiesen, jedoch tut er nun nur die String-Attribute serialisieren. Die boolean-Attribute nicht.
Auch dann wenn die zugewiesenen Werte von den Standardwerten abweichen.
 

eRaaaa

Top Contributor
Bei
Java:
    public boolean isAutoReconnectEnabled() {
        return autoReconnect;
    }

könnte es Probleme geben :)
Probiere dort mal
Java:
    public boolean isAutoReconnect() {
        return autoReconnect;
    }

Ansonsten sollte das aber gehen:
Java:
             XMLEncoder xmlEnc = new XMLEncoder(new BufferedOutputStream(fos));
             Settings s = new Settings();
             s.setAutoReconnect(false); 
             s.setMainFrameMode("hallo mainframe");
             s.setStartingUpWithOS(true);
             xmlEnc.writeObject(s);
             xmlEnc.close();
-->
[xml]
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.6.0_24" class="java.beans.XMLDecoder">
<object class="Settings">
<void property="autoReconnect">
<boolean>false</boolean>
</void>
<void property="mainFrameMode">
<string>hallo mainframe</string>
</void>
<void property="startingUpWithOS">
<boolean>true</boolean>
</void>
</object>
</java>
[/xml]
 

Spitfire777

Bekanntes Mitglied
Hi,

lag an mir, hab bei den boolean-Feldern immer das eingegeben, was als Standard schon drin war.
Ein Programm ist immer nur schlau wie sein Benutzer xD

Danke dir trotzdem :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Jackson JSON: Dynamische Serialisierung XML & JSON 6
C Serialisierung mit JAXB XML & JSON 6
E EMF Serialisierung XML XML & JSON 7
L Objekt Serialisierung: Schreiben aller Attribute erzwingen XML & JSON 5
F beste lib für xml serialisierung - deserialisierung XML & JSON 4
S XML-Serialisierung beeinflussen XML & JSON 5
G Serialisierung / Deserialisierung von XML mittels EMF XML & JSON 5
C Validierung klappt nicht mit Schema XML & JSON 2
C XPath in JDOM klappt nicht XML & JSON 2
J [Newbie] [JDOM] Element aus XML entfernen klappt nicht XML & JSON 4
M SOAP-Client funktioniert plötzlich nicht mehr XML & JSON 2
I ID von Referenz speichern, nicht ganzes Objekt XML & JSON 1
S XML Datei speichern nicht möglich XML & JSON 13
T Fehler: Hauptklasse com.sun.tools.internal.xjc.XJCFacade konnte nicht gefunden oder geladen werden XML & JSON 6
W jaxb-api XML Feld nicht gesendet setzt das Defaultvalue nicht XML & JSON 3
M dom4j detach funktioniert nicht XML & JSON 0
H XML Element `Class` wird nicht gelesen XML & JSON 2
C javascript in .html Funktioniert, in .xhtml nicht mehr XML & JSON 0
S xml mit SAX. Sonderzeichen belassen, nicht umsetzen. No "&gt;" in ">" XML & JSON 1
GianaSisters Webservice Integer/Double bitte nicht mitübertragen XML & JSON 2
S Apache Ant - Fehler: Hauptklasse konnte nicht gefunden oder geladen werde XML & JSON 1
H Apache fop1.1 -> Funktion last() wird nicht erkannt XML & JSON 0
D Xml nicht überschreiben! XML & JSON 1
S NodeList rückwärts scannen, alle Parent Nodes ausgeben rekursiv und nicht-reukrsiv XML & JSON 0
E Wie geht man mit Textfiles um, die nicht in Form von XML vorliegen? XML & JSON 4
J XML - Datei wird nicht ganz angezeigt XML & JSON 2
S DTD und XML lassen sich nicht verknüpfen XML & JSON 2
S XML file lässt sich in Eclipse nicht erstellen XML & JSON 2
N Java XML schreiben funktioniert nicht XML & JSON 1
F.S.WhiTeY JAXB: Schema nicht "erben" XML & JSON 2
S Node.setTextContent funktioniert nicht XML & JSON 3
K Verwirrung: Per SSH werden manche Befehle ausgeführt, manche nicht XML & JSON 10
Helgon JDOM schreibt nicht XML & JSON 2
G xml, jdom "Entität wurde referenziert aber nicht deklariert." XML & JSON 4
K Main Methode wird nicht aufgerufen XML & JSON 15
H XML via XSD Validierung nicht möglich? XML & JSON 2
H Nicht wohlgeformtes XML mit SAX parsen XML & JSON 2
T XML JTree änder sich nicht XML & JSON 2
C DOM: Attribute nicht in alphabetischer Reihenfolge schreiben XML & JSON 3
A XML schaffe es nicht Nodes auszulesen XML & JSON 5
G Wieviele Elemente von TagName, ich brings nicht hin XML & JSON 5
M XSD - Child Element möglich, aber nicht zwingend erforderlich XML & JSON 6
_dp Java XML Parse error: findet end-tags nicht XML & JSON 10
sylo Nach Export wird SAXParseException nicht mehr geworfen XML & JSON 4
aze JaxB: Nullelemente in Array nicht anzeigen XML & JSON 3
G XPath - replace function funktioniert nicht XML & JSON 3
B Unterschied? Beides Attribut oder nicht? XML & JSON 2
aze JaxB Elemente in LinkedHashSet werden nicht wiededergegeben XML & JSON 3
G Nodes in Document kopieren, nur die Childs, die noch nicht existieren XML & JSON 7
E Wieso liefert dieser XPATH-Ausdruck nicht die richtige Anzahl Treffer? XML & JSON 8
L XML Dokument auslesen funktioniert nicht richtig XML & JSON 2
S finde den Schema-Compiler "xjc" nicht XML & JSON 4
N XML will nicht weder JAXB noch XStream XML & JSON 8
P PHP-Seite anfragen, aber nicht darstellen XML & JSON 5
P XSD Schema: Konstanten mit "fixed" erzeugen geht nicht ??? XML & JSON 3
F XML Suche funktioniert nicht XML & JSON 5
D nicht (ganz) valiedes XML einlesen! XML & JSON 19
C jdom.Element nicht vorhanden? XML & JSON 4
J Daten werden in ArrayList geschrieben, AL nicht in .xml ? XML & JSON 5
V XMLEncoder: Attribute nicht serialisieren XML & JSON 2
R iReport will nicht XML & JSON 4
T XML-Parsing: Whitespace zw. Elementen wird nicht ignoriert XML & JSON 4
P nicht wohl-geformte XML in wohlgeformte XML umwandeln XML & JSON 5
8 SAXParser Problem, startElement wird nicht ausgeführt XML & JSON 2
M Xerces -Parsen mit einer externen Schemadatei geht nicht XML & JSON 2
H xml - Schema : warum passen die nicht zueinander XML & JSON 2
P SAXBuilder wird von Eclipse nicht als ObjektTyp erkannt XML & JSON 3
B JDom -- getChild() liefert nicht nachvollziehbar null XML & JSON 2
K XML to file geht nicht :( XML & JSON 4
S Element addContent(Element) gibts nicht XML & JSON 5
M mit JDOM XML-Datei einlesen, die nicht "well-formed&quo XML & JSON 3
D XML Datei wird nicht gefunden XML & JSON 4
C xpath funktioniert nicht XML & JSON 5
M attribute funken nicht XML & JSON 3
B Validieren meines XMLs mit meiner DTD funktioniert nicht XML & JSON 9
M getChildren gibt nicht alle children zurück XML & JSON 3
P zugriff auf gewuenschte elemente klapp nicht. XML & JSON 3
T Warum passt diese DTD-Zeile nicht zu diesem Dokument? XML & JSON 7
A Element an einer bestimmten Stelle einfügen (nicht am Ende) XML & JSON 4

Ähnliche Java Themen

Neue Themen


Oben