XML Darstellung mit Java

Hallo Leute,

ich implementiere grad eine XML Applikation. Ein Server erwartet folgende XML-Datei:

Leider bin ich mich grad erst am rein friemeln in XML-erstellung mit Java und weiß bis jetzt nur, wie man die ausführlichere Variante von XML erstellt.
Könnt Ihr mir sagen, wie das „ausführlich“, also mit öffnendem und schließenden Tag, aussieht? Oder wie ich das mit Java implementieren kann.

Danke im voraus

ich implementiere grad eine XML Applikation. Ein Server
erwartet folgende XML-Datei:

Das ist undruchsichtig. Du schreibst also eine Applikation, die sich in irgendeiner Form mit XML auseinandersetzen muß. Geht das irgendwie genauer?

Leider bin ich mich grad erst am rein friemeln in
XML-erstellung mit Java und weiß bis jetzt nur, wie man die
ausführlichere Variante von XML erstellt.

Kannst Du mal erklären was Du mit ‚ausführlichem XML‘ meinst?

Könnt Ihr mir sagen, wie das „ausführlich“, also mit öffnendem
und schließenden Tag, aussieht? Oder wie ich das mit Java
implementieren kann.

XML Dateien schreiben kannst Du zur Not, indem Du Stings in ne Textdatei schreibst und das Porgramm sicherstellen läßt, daß da XML Konforme Dinge bei rauskommen. Als ich das das letzte Mal vor 6 Jahren machen mußte, war das die einzige brauchbare Möglichkeit, das mag sich geändert haben. XML Datein zu öffnen, Durch nen Parser zu hauen und den daraus endstehenden DOM-Tree (Wenn Du das mit nem DOM Parser machen willst) auszulesen / zu durchsuchen ist alles in der standard API mit drin und es gibt zig Tutorials dafür.

ich implementiere grad eine XML Applikation. Ein Server
erwartet folgende XML-Datei:

Das ist undruchsichtig. Du schreibst also eine Applikation,
die sich in irgendeiner Form mit XML auseinandersetzen muß.
Geht das irgendwie genauer?

Ich Implementiere einen WebServer, der auf HTTP-Anfragen reagiert, diese auswertet, und verschiedene XML-Dokumente zurück sendet. Dazu gehört auch dieses.

Leider bin ich mich grad erst am rein friemeln in
XML-erstellung mit Java und weiß bis jetzt nur, wie man die
ausführlichere Variante von XML erstellt.

Kannst Du mal erklären was Du mit ‚ausführlichem XML‘ meinst?

Ausführlich heißt:
wert1 wert 2.1 wert 2.2 wert3

Das meine ich damit. Also eindeutig zuweisbare Tag, welches geöffnet und wieder „ordentlich“ geschlossen werden.

Könnt Ihr mir sagen, wie das „ausführlich“, also mit öffnendem
und schließenden Tag, aussieht? Oder wie ich das mit Java
implementieren kann.

XML Dateien schreiben kannst Du zur Not, indem Du Stings in ne
Textdatei schreibst und das Porgramm sicherstellen läßt, daß
da XML Konforme Dinge bei rauskommen. Als ich das das letzte
Mal vor 6 Jahren machen mußte, war das die einzige brauchbare
Möglichkeit, das mag sich geändert haben. XML Datein zu
öffnen, Durch nen Parser zu hauen und den daraus endstehenden
DOM-Tree (Wenn Du das mit nem DOM Parser machen willst)
auszulesen / zu durchsuchen ist alles in der standard API mit
drin und es gibt zig Tutorials dafür.

Ich wollte für Java nur die Befehle wissen, die Methoden, wie ich XML in verkürzter Form schreibe.

mfg

Ich wollte für Java nur die Befehle wissen, die Methoden, wie
ich XML in verkürzter Form schreibe.

Dazu brauchst du doch im einfachsten Fall nur einen String zusammenbasteln, in den du die entsprechenden Werte einfügst…

Beispiel:

String xml = 
 ""
+ " "
+ " "
+ " .....";

Alternativ kannst du natürlich auch den Weg über die Java DOM-API gehen:

DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = docBuilder.newDocument();

Element root = doc.createElement("mein-root-element");

Element otherElement = doc.createElement("anderes-element");
otherElement.setAttribute("mein-attribut", "mein Wert");

root.appendChild(otherElement);
doc.appendChild(root);

http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/pa…
http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/pa…
http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/…

Falls du von dem XML-Dokument ein XML-Schema hast, kannst du auch den Weg über JAXB gehen und dir einfach Java-Objekte von dem XML erstellen lassen die du ganz normal befüllen kannst.
http://de.wikipedia.org/wiki/Java_API_for_XML_Proces…

Mit ‚wie das „ausführlich“ aussieht‘ nehme ich an meinst du:

Oder hast du gedacht dass die Attribute dann plötzlich zu sub-tags werden? Attribute sind Attribute und Tags sind Tags. Es gibt keine kurzversion und langversion wo eines in das andere umgewandelt werden kann. Dabei würden komplett andere XML Dokumente entstehen die auch ganz unterschiedliche Schemas oder DTDs hätten, außer man hat eins das beide Formate drin hat, was eher unwahrscheinlich ist. Btw. ist die „Kurzversion“ die du geschrieben hattest und die „Langversion“ die ich oben geschrieben habe identisch. Wenn jemand das eine als valides XML Dokument akzeptiert, muss er auch das andere als valides XML Dokument akzeptieren, oder auch jede beliebige Mischform. Auch in der Schreibweise wie du sie gepostet hast ist jedes Tag „eindeutig zuweisbar“ und und alle sind „geöffnet und wieder „ordentlich“ geschlossen“. Wäre das nicht der Fall, wäre es kein XML Dokument, denn das muss immer korrekt und wohlgeformt sein.

Gruß
Vampire

Argh, jetzt hats mir den Code zerlegt, sollte natürlich so aussehen:

Der Vollständigkeit halber sollte noch erwähnt werden dass du auch eine Template Engine wie FreeMarker nutzen kannst um dein XML zu erzeugen. Dabei kannst du ganz genau definieren wie das Ergebnis aussehen soll, anhand eines Templates in dem du variable Teile hast die dann zur Laufzeit mit den konkreten werten ersetzt werden.