# XML erstellen, verändern usw.



## klaus1 (21. Sep 2005)

Hi Leute!

bin neu auf dem Gebiet XML!
Müsste mit Daten eine XML Datei erzeugen, mit vorgegebenen Tags, dieses XML File müsste abgespeichert werden in einer Klasse. (geht das nur in STRING, oder gibts hier auch einen XML Datentyp?).

Mit welcher Klasse beschäftige ich mich, um eine XML Datei mit Tags zu generieren? (UTF-8)
Lg, Klaus


----------



## Bleiglanz (21. Sep 2005)

http://java.sun.com/j2ee/1.4/docs/tutorial/doc/

Chapter4 und mehrere andere


----------



## klaus1 (21. Sep 2005)

ich möchte allerdings nur eine XML Datei erzeugen, nicht auslesen... ist hier auch SAX von Vorteil?
könnten sie mir ein beispiel nennen?
Lg, Klaus


----------



## KSG9|sebastian (21. Sep 2005)

jdom


----------



## Bleiglanz (21. Sep 2005)

am einfachsten ists mit Strings

oder einem normalen Writer

dazu brauchst du erstmal nix von der ganzen XML API wissen, du musst halt nur aufpassen, dass du korrektes xml erzeugst

(also jedes & durch ein & ersetzen usw.)


----------



## klaus1 (21. Sep 2005)

schon klar, und die formatierung? wird die selbst vorgenommen?


----------



## Bleiglanz (21. Sep 2005)

ja wie denn sonst?

wenn du keine API nimmst (DOM, SAX, JDOM, XOM, dom4j, ..) sondern von hand arbeitest, musst du das eben selbst machen


----------



## klaus1 (21. Sep 2005)

arbeite gerade mit JDOM...
meine frage noch.. wie kann ich eine XML Datei am besten in einer Java Klasse unterbringen? als STRING??!


----------



## KSG9|sebastian (21. Sep 2005)

haae ? 
meinst du den kompletten inhalt der datei oder wie ???

wenn du schon JDOM benutztst, dann ist es quatsch, die ganze datei nochmal als string vorliegen zu haben.

Sinnvollerweise solltest du die Datei als "Document" unterbringen. Ist ne eigene Klasse.


----------



## klaus1 (21. Sep 2005)

bitte um genauen pfad zur API


----------



## byte (21. Sep 2005)

http://www.jdom.org/docs/apidocs/index.html


----------



## klaus1 (6. Okt 2005)

Hallo!

Verwende den XMLOutputter von JDOM, mit folgendem Format vor der Ausgabe:
 Format f = outp.getFormat();
	        f.setIndent(" ");
	        outp.setFormat(f);


Jetzt habe ich das XML File schön eingerückt da!
Möchte aber keine Leerzeichen vor den einzelnen Tags in den Zeilen, jedoch pro Tag eine neue Zeile!
kann mir jemand dazu den FORMAT Befehl geben?

Lg, Klaus

(PS: wenn ich das ganze Format=... weglasse, so habe ich eine lange wurst in einer Zeile stehen!


----------



## byte (6. Okt 2005)

```
Format format = Format.getPrettyFormat();
```

edit: hab mich wohl verlesen. also du willst gar keine einrückung haben? schätze mal, da musst du die leerzeichen "per hand" entfernen.


----------



## klaus1 (6. Okt 2005)

mit 
 XMLOutputter outp = new XMLOutputter();

geht das hier nicht:

Format f = outp.getPrettyFormat();

(getPrettyFormat) wird nicht erkannt!!)

LG, Klaus


----------



## byte (6. Okt 2005)

ähm, hab doch geschrieben wie es geht. 

aber das ist eh nicht die lösung für dein problem. du musst die führenden leerzeichen per hand entfernen, denn afaik gibts für dein problem keine saubere jdom lösung.

wozu willst du überhaupt die formatierung entfernen? wird doch total unleserlich dadurch...


----------



## klaus1 (6. Okt 2005)

ich möchte das ganze so haben:

<...url encoded UTF-8...>
<tag1>
<untertag1>
</untertag1>
</tag1>

wie entferne ich diese?

mein Problem:
Ich spiele das ganze als STRING mit outputString(doc) in eine Datenbank, die leider kein Document unterstützt.
Und der XML Parser streikt da immer.. glaube das liegt an den vorhandenen Leerzeichen.
wie entferne ich die per hand? Ich erstelle sie immerhin mit JDOM?


----------

