# Java DOM Ausgabe ohne XML header



## dcm75 (31. Aug 2007)

Hallo,

ich habe folgendes Problem:

Ich habe mit Java DOM ein xml Dokument erzeugt und möchte es in eine Datei schreiben.
Dabei soll *nicht * der xml Header ausgegeben werden - wie kann ich diesen abschalten?

Die Ausgabe erfolgt bei mir durch:

```
Transformer trans = transFact.newTransformer();
trans.transform(docSrc, FileStream);
```


Das Ergebnis ist:

```
<?xml version="1.0" encoding="UTF-8"?><ui version="4.0"> ...
```

Gewünscht ist aber:

```
<ui version="4.0"> ...
```


----------



## Meilhaus (31. Aug 2007)

Hallo,

hier ist eine Lösung für dein Problem:


```
JDOMResult fileResult = new JDOMResult();

Transformer trans = transFact.newTransformer();
trans.transform(docSrc, fileResult);
```

Das speicherst du dann als Datei:


```
Format format = Format.getPrettyFormat();
format.setEncoding("utf-8");
format.setOmitDeclaration(true);

XMLOutputter toFile = new XMLOutputter(format);
java.io.FileWriter diskWriter = new java.io.FileWriter("deinSpeicherOrt/ausgabe.xml");

toFile.ouput(fileResult, diskWriter);

diskWriter.flush;
diskWriter.close;
```

Damit wird das XML ohne die erste Header-Zeile geschrieben. Der Knackpunkt ist format.setOmitDeclaration(true).

Viele Grüße,

Meilhaus


----------



## dcm75 (31. Aug 2007)

Erst mal danke für die schnelle Antwort!

Ich vermute die Zeile:


> toFile.ouput(fileResult, diskWriter);



sollte heißen:


> toFile.ouput(*docSrc*, diskWriter);



Hab leider das Problem, dass mein Document ein "org.w3c.dom.Document" ist.

Wie kann ich ein "org.w3c.dom.Document" in ein "org.jdom.Document" umwandeln?
Einfach einlesen mit: 

```
SAXBuilder builder = new SAXBuilder(false);
				org.jdom.Document docSax = builder.build(outputFile);
```
schlug leider fehl. 

Oder gibt es die Möglichkeit aus dem "org.w3c.dom.Document" den xml-header zu entfernen?

Viele Grüße


----------



## Guest (31. Aug 2007)

Hallo nochmal,

nein, das meinte ich schon so. Jedoch habe ich was vergessen:


```
JDOMResult fileResult = new JDOMResult();

Transformer trans = transFact.newTransformer();
trans.transform(docSrc, fileResult);
fileOutput =  fileResult.getDocument()

Format format = Format.getPrettyFormat();
format.setEncoding("utf-8");
format.setOmitDeclaration(true);

XMLOutputter toFile = new XMLOutputter(format);
java.io.FileWriter diskWriter = new java.io.FileWriter("deinSpeicherOrt/ausgabe.xml");

toFile.output(fileOutput, diskWriter);

diskWriter.flush;
diskWriter.close;
```

Die Umwandlung von W3C nach JDOM geht so:


> docJDOM = domBuilder.build(docW3C);



Viel Glück,

Meilhaus


----------



## dcm75 (2. Sep 2007)

Hat funktioniert!

Vielen Dank  :toll:


----------

