Anzeige:
Ergebnis 1 bis 6 von 6

Thema: problem mit Java 1.5

  1. #1
    Registrierter Benutzer
    Registriert seit
    25.09.2003
    Beiträge
    37

    problem mit Java 1.5

    bei der Ausgabe eines XML files wurde laut Buch:
    --------------------------------------------------------------------------------------------------------
    public void speichern() {
    String linesep=System.getProperty("line.separator");
    try {
    FileWriter Ausgabestrom = new FileWriter("xmlout.xml");
    BufferedWriter output = new BufferedWriter(Ausgabestrom);
    String inhalt = "<?xml version='1.0' encoding='iso-8859-1' ?>"
    + linesp;
    inhalt += document.getDocumentElement();
    System.out.println(document.getDocumentElement().t oString());
    output.write(inhalt);
    output.flush();
    output.close();
    } catch (IOException e) {
    System.out.println("Speichern in XMLFile.java fehler");
    }
    }
    --------------------------------------------------------------------------------------------------------
    ..das klappte auch unter Java 1.4.
    Unter Java 1.5 wird bei der Funktion document.getDocumentElement().toString());
    -> :NULL zurückgegeben.
    Hat jemand schon damit Erfahrung?

    Ich wollte danach auf 1.4. zurückstellen. Dabei habe ich aber andere Probleme die ich mit 1.5 nicht habe - ich würde lieber 1.5 nutzen!

    Danke und Gruß
    Andi

  2. #2
    Registrierter Benutzer
    Registriert seit
    25.09.2003
    Beiträge
    37
    kann mir da keiner weiterhelfen?
    Nutzt keiner 1.5 und gibt ein XML file aus?

  3. #3
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    Hmm...

    Ist denn das Verhalten, dass du von toString() erwartest, in den Apidocs spezifiziert.
    Weil, wenn nicht hattest du mit 1.4 einfach Glück und die haben einfach die Implementierung etwas geändert.

    Tut denn keine Andere Methode genau was du willst?
    Geändert von Lin728 (20-08-2017 um 19:24 Uhr)

  4. #4
    Registrierter Benutzer
    Registriert seit
    25.09.2003
    Beiträge
    37
    an das dachte ich auch schon und habe die toString() weggelassen. Sollte ja implementiert sein. Ist aber das gleiche Ergebnis.
    Ein Arbeitskollege war erst auf einer Javaschulung. Laut seinen Unterlagen hat sich bei der Ausgabe von XML etwas verändert. Leider wurde darin nicht weiter eingegangen....

    Gruß
    Andi

  5. #5
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von Andi B.
    an das dachte ich auch schon und habe die toString() weggelassen.
    Wie weggelassen?
    Wie schreibst du jetzt?
    ( inhalt += ... ruft ja auch toString() auf)

    Sollte ja implementiert sein. Ist aber das gleiche Ergebnis.
    toString() ist immer implementiert, aber nicht immer sinnvoll

    Wenn die Spezifikation einer Klasse keine genau Angabe zur Rückgabe von toString() macht, also explizit was angibt, würde ich es maximal für Debugoutput benutzen.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  6. #6
    Registrierter Benutzer
    Registriert seit
    25.09.2003
    Beiträge
    37
    Ich mache es jetzt anders...

    File file = new File("xmlout.xml");

    TransformerFactory transformerFactory=
    TransformerFactory.newInstance();
    Transformer transformer;
    try {
    transformer = transformerFactory.newTransformer();
    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    DOMSource source = new DOMSource(document);
    StreamResult result = new StreamResult(file);

    try {
    transformer.transform(source, result);
    } catch (TransformerException e1) {
    System.out.println("Transformer Exception Fehler");
    e1.printStackTrace();
    }

    } catch (TransformerConfigurationException e) {
    System.out.println("Transformer Configuration Exception Fehler");
    e.printStackTrace();
    }


    ...das klappt !

    Gruß
    Andi

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •