JDOM - XML Dokument ohne Header <?...?>

chriss_2oo4

Erfahrenes Mitglied
Hi,

wenn ich ein XML-Dokument mit JDOM erzeuge und speicher, dann wird automatisch ein XML Header (<?xml version="1.0" encoding="UTF-8"?>) hinzugefügt. Wie kann ich das verhindern - also den XML Baum ohne Header zu speichern?


Lg Chriss
 
Stichworte:

- Vererbung
- Überschreiben von Methoden
- Zugriff auf Elternobjekt aus einer abgeleiteten Klasse
- Stringmanipulation

Dämmerts? :)
 
Hi,

sicher könnte ich irgendwelche Methoden überschreiben, dazu müsste ich aber erstmal wissen welche Methode den Header hinzufügt, aber da greife ich lieber auf das Dokument zu und schneide die erste Zeile "per Hand" raus.

Was das ganze mit Vererbung, bzw. Zugriff auf Basisklassen, zu tun hat weiß ich nicht?

Aber vielleicht kannst Du meiner "Dämmerung" auf die Sprünge helfen :)


Lg Chriss
 
Hallo,

warum nutzt du nicht einfach die Sachen, die Java schon von Haus aus mitbringt?

Java:
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

import com.sun.org.apache.xml.internal.serializer.OutputPropertiesFactory;

public class HTMLOutputExample
{
  /**
   * *
   * 
   * @param args
   */
  public static void main(String[] args) throws Exception
  {
    Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();

    Element rootElement = document.createElement("html");
    document.appendChild(rootElement);

    Element child = document.createElement("body");
    rootElement.appendChild(child);
    Transformer transformer = TransformerFactory.newInstance().newTransformer();
    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    transformer.setOutputProperty(OutputPropertiesFactory.S_KEY_INDENT_AMOUNT, "1");
    transformer.transform(new DOMSource(document), new StreamResult(System.out));
  }
}

MFG

Sascha
 
Hat sich das Problem erledigt?
Falls ja, bitte den Thread auf erledigt setzen.

MFG

Sascha
 
Hi,

bin erst heute dazu gekommen mein Projekt weiter zu machen, habs jetzt gelöst in dem ich die erste Zeile mit Hilfe einer Datei mit Wahlfreiem Zugriff (aus Performance Gründen) öffne und die erste Zeile überspringe und die restlichen wieder in die selbe Datei kopiere.

JDOM hab ich verwendet, weil Attribute und Inhalt der Elemente der HTML Seite im laufe des Programms verändert werden müssen. Das ist IMHO mit JDOM komfortabler.

Danke für die Antworten


Lg Chriss
 
Zurück