.xsd File wärend der Laufzeit einlesen und XMl rausschreiben

jstei001

Aktives Mitglied
Hallo,

ich stehe vor einer etwas komplexeren Anwendung, und zwar geht es darun anhand von einer .xsd, dazu gültige xml-Dokumente zu erzeugen, gefüllt mit Testdaten.

Das Problem ist das ganze müsste wärend der Laufzeit passieren.

Mein Grundgedanke wäre so, das .xsd auslesen und daraus die Java-Klassen erzeugen und dann mit code-reflection sich die setter geben lassen und auch benutzen, um die Testdaten einzupflegen, anschließend wird das XML an ein Servlet weitergeschickt.


Es soll ein Programm werden was ein .xsd als Input bekommt und ein Xml daraus generiert (mit Testdaten gefüllt) und weiter an ein Servlet sendet. Ich kenne JAXB, aber das Problem ist dass man da die Klassen wärend der Entwicklung erzeugt bei mir müsste das alles etwas dynamischer ablaufen. :)

Ich bin für jede Hilfe dankbar.
 
S

SlaterB

Gast
ich glaube nicht dass du die Java-Klassen brauchst, wenn du sie eh nur kompliziert mit Reflection füllen willst
und dafür anscheinend doch die XSD analysieren musst, also auf jeden Fall selber die Struktur durchgehst

mache den Durchgang, aber erzeuge dann gleich XML-Nodes, etwa in ein DOM-Document, oder gar direkt XML-String-Bestandteile

edit:
ok, Reflection könntest du direkt auf die Java-Klassen anwenden,
willst du also das XSD nicht selber einlesen? na mehr kann ich eh kaum beitragen
 

jstei001

Aktives Mitglied
Das XSD muss ich nicht einlesen, ich muss nur eine XML erzeugen die dagegen valide ist.

Java-reflection wäre ganz cool, weil ich brauch mir nur die Setter geben lassen und kann diese nutzen zum füllen.

Selber die XML erzeugen ist schlecht da es immer unterschiedliche xsd dateien sein könnten, die auch sehr groß wären.

Ich habe jetzt einen Ansatz, ich rufe den xjc aus Java heraus auf, der generiert mir die JAXB-Klassen und auf die greife ich zu.

Nächstes Problem ist dann, ich kenne die Namen der JAXB Klassen erst zur Laufzeit und weiß nicht wie ich an die Klassen komme, weil class.forname geht ja nicht und gib mir alle Klassen in einem package leider auch nicht.
 
S

SlaterB

Gast
> und gib mir alle Klassen in einem package leider auch nicht.

die Festplatte muss man selber durchsuchen
 

jstei001

Aktives Mitglied
Ich habe jetzt ein Lösungsansatz der soweit geht, falls jemand noch einmal das Problem hat:

XJC Compiler kann man einfach per Runtime in Java ausführen, mit der Code Reflection sucht man nach der Klasse ObjectFactory, die von JAXB erzeugt wurde. Diese Klasse enthält alle Methoden um die einzelnen Elemente(Klassen) aus der xsd zu erzeugen, damit kann man gut arbeiten.

Einziger Haken noch: Nachdem JAXB die Java-Klassen erzeugt hat, muss die Ordner Struktur einmal Refreshed werden damit man die Klasse ObjectFactory findet. Aber auch das ist bestimmt irgendwie in Java lösbar.
 

jstei001

Aktives Mitglied
Damit die Klassen gefunden werden liegt daran, dass Eclipse erst nach einem refresh kompiliert.

Man muss dann noch einmal den java kompiler aus der Runtime aufrufen und die erzeugten .class dateien in den bin ordner vom Projekt kopieren. Dann findet man mit class.forname auch die ObjectFactory.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E JAXB und java.nio.file.Path XML & JSON 4
Trèfle Formatierung v. JSON File XML & JSON 7
L login - Java IOException jaas.config File or Directory not present XML & JSON 1
G Probleme mit Jsoup in .jar File XML & JSON 11
K JAR-File mit XML-Datei XML & JSON 1
JBoby Yaml File lesen und in Objekte umwandel (SnakeYAML / YamlBeans) XML & JSON 0
O XML Zugriff auf Entity File XML & JSON 0
B xsd-Datei ins jar file XML & JSON 5
S XLSX-File NoSuchMethodError XML & JSON 7
M SEPA XML file XML & JSON 11
S Xml File für den Aufbau einer anderen Xml Datei XML & JSON 6
S XML file lässt sich in Eclipse nicht erstellen XML & JSON 2
M <root> node in bestehendes XML-File XML & JSON 8
L Datenstruktur in XML-File schreiben XML & JSON 2
Q XML-File als Objekt in Java XML & JSON 6
G DXF-File schreiben XML & JSON 17
GUI-Programmer java.io.File aus .jar beziehen XML & JSON 6
B XML file erstellen und in lesbarer form speichern XML & JSON 2
M XML File generieren XML & JSON 3
S Aus XML-File eine Baumstruktur erzeugen XML & JSON 5
N XML File aus Internet korrekt mit absätzen formatiert abspeichern XML & JSON 10
J xmlParser/-Writer: DTD in seperates File auslagern XML & JSON 4
C Xml file gegen eine DTD validieren XML & JSON 3
G Problem beim schreiben von XML in eine File XML & JSON 2
S Premature end of file XML & JSON 7
T File öffnen XML & JSON 6
B XML file für schtasks XML & JSON 5
G Simples XML File einlesen mit JDom. Prefix not bound ? XML & JSON 2
G Xml File schematisch auslesen XML & JSON 2
J File objekt in xml speichern? XML & JSON 12
G XMLEncoder: discarding statement LinkedList.add(File) XML & JSON 16
X XML File auslesen/parsen u. in ne Hashmap speichern XML & JSON 2
M Unhierarchisches XML-File mit DOM-Parser auswerten XML & JSON 5
M XML File während Applet-Start auslesen? XML & JSON 10
X Einzelne Tags rausnehmen aus einem großen XML-file XML & JSON 4
E XOM setzen von XML-Schema declaration beim erzeugen XML-File XML & JSON 2
M XSL-File für Transformation verwenden XML & JSON 3
M XML-File verabeiten XML & JSON 19
A XML-File auslesen, alles leer? XML & JSON 2
S Geändertes XML-File wieder abspeichern. XML & JSON 10
D XML-file mit Eclipse erstellen + Namespaces XML & JSON 2
A html-File nach txt-File konvertieren XML & JSON 15
K XML to file geht nicht :( XML & JSON 4
A Internetinhalte auslesen und in einem XML-File speichern XML & JSON 4
T select-statement aus mysql in ein xml-file umwandeln XML & JSON 3
J XML File updaten XML & JSON 2
A XML-file an der Konsole ausgeben XML & JSON 4
D In ein XML File meinStyleSheet.css eintragen? XML & JSON 9
J Client für WebService programmieren (aus WSDL-File) XML & JSON 15
R wie kann ich ein xml file in einen string einlesen? XML & JSON 2
M *.group() in File auslesen XML & JSON 4
A XML-File ausgeben XML & JSON 2
W aus XML-File gelesenes als Methodenaufruf verwenden XML & JSON 5
T Elemente aus XML-File löschen (JDom) XML & JSON 9
T [JDOM] XML File, neue Daten hinzufügen XML & JSON 5
D Aus Java XML-File an PHP-Skript senden: Encodingproblem? XML & JSON 3
T Prob: Auslesen XML File mit JDOM XML & JSON 2
B DOM oder HTML File drucken "wie ein Browser es zeigen w XML & JSON 3
P cxf: WSDL dynamisch erzeugen (zur Laufzeit) XML & JSON 7

Ähnliche Java Themen

Neue Themen


Oben