# Formatieren von XML Code mit Hilfe von DOM?



## ExElNeT (9. Jun 2005)

Der Code der in eine Datei geschrieben wird hat keine Absätze und Tabs und ist daher schwer zu lesen. ;/

Gibt es eine Möglichkeit den Code den DOM in einen Stream schreibt zu formatieren? Absätze und Einrückungen einfügen usw ...

Stellt java da etwas zur Verfügung? Wie mache ich das am besten?

mfg
ExElNeT


----------



## Bleiglanz (10. Jun 2005)

hängt davon ab wie du rausschreibst? einfach dem Transformer einen OutputKey mitgeben

javax.xml.transform.OutputKeys

mehr als "indent" steht dir zum verschönern allerdings nicht zur verfügung


----------



## ExElNeT (10. Jun 2005)

vielen dank funktioniert obwohl halt einrückungen auch nicht schlecht wären 

außerdem musste ich in meine rade funktion dann das hier eintragen:

dbFactory.setIgnoringElementContentWhitespace(true);

mfg
ExElNeT


----------



## ronny (10. Jun 2005)

hmmm, du könntest allerdings noch über "Umwege" ne Formatierung reinkriegen
in dem du das Document in ein jdom Document umwandelst... da gibts dann mehrere
Möglichkeiten der Formatierungen... brauchst halt extra die jdom lib.

Umwandeln geht recht fix und formatieren is kein Problem.. müsste ungefähr so gehen:


```
....

		DOMBuilder builder = new DOMBuilder();
		FileOutputStream stream = null;
		XMLOutputter out = new XMLOutputter();
		out.setFormat(Format.getPrettyFormat());

		try {
			stream = new FileOutputStream(file);  //dein file
			org.jdom.Document newDoc = builder.build(document);  //dein ursprüngliches DOM Document
			out.output(newDoc, stream);
			stream.close();
		} catch (Exception e1) {
			throw new InvalidFileException("Fehler beim Speichern der Datei!");  //irgendwie so...
                        //usw.
		}

                .....
```

vielleicht ist das ja ne Option für dich...   :wink:


----------



## ExElNeT (10. Jun 2005)

danke das klingt interessant aber ich darf keine externen packages verwenden ;/ wenns keinen einfachen weg gibt es mit dem eingebauten dom zu machen dann lasse ichs  

aber vielen dank fuer den tipp den werde ich fuer mein nächstes projekt verwenden 

mfg
ExElNeT


----------



## Roar (10. Jun 2005)

ExElNeT hat gesagt.:
			
		

> wenns keinen einfachen weg gibt es mit dem eingebauten dom zu machen dann lasse ichs


lies doch mal was bleiglanz geschrieben hat


----------



## ExElNeT (10. Jun 2005)

Roar hat gesagt.:
			
		

> ExElNeT hat gesagt.:
> 
> 
> 
> ...



habe ich  wie du danach hier lesen kannst



> vielen dank funktioniert obwohl halt einrückungen auch nicht schlecht wären icon_wink.gif
> 
> außerdem musste ich in meine rade funktion dann das hier eintragen:
> 
> ...



er macht halt nur absätze aber keine schönen einrückungen wie man es normalerweise machen würde ...


mfg 
ExElNeT


----------



## Bleiglanz (11. Jun 2005)

ist doch eh bullsthit

wenn ein xml file "maschinell" erzeugt wird, wozu dann die "schöne formattierung", ist doch völlig sinnlos...

wie BTW fast immer bei xml


----------

