PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Filterprogramm mit Java?



TB75
15-06-2005, 15:15
Hallo!

Kann mir jemand weiterhelfen?

Ich möchte gerne mit Java einen Filter programmieren.

Eine Edi Datei soll durch eine Javafilter laufen und dann zu einer XML
erzeugt werden.


Eine Beschreibung zu EDIFACT gibt es bei:

http://www.t-mobile.de/business/elmo/1,5643,8155-%20,00.html

Dort dann rechts unten auf "Codetabellen" -PDF-Datei klicken.

Mit Hilfe dieser PDF-Datei-Beschreibung möchte ich eine EDI-Datei
durch einen Java-Filter in eine XML - Datei umwandeln.

Zeile für Zeile den Code umwandeln würde mit der EDIFACT-Codetabelle
aber auch gehen. Da die EDI-Datei aber über 10.000 Zeilen hat, es fast
nicht möglich diese alle einzeln zu übersetzen.-

Man braucht also eine Filter der die EDI-Datei Zeile pro Zeile einliest
und dann in eine
XML-Datei ausgibt.


Falls die Aufgabenbeschreibung unklar ist, dann mailt mir einfach den
Code mit welchen man allgemein einen Java - Filter programmiert.

Meine email-Adresse: speed2001m@yahoo.de

Vielen Dank.

Gruss
TB75

mwanaheri
15-06-2005, 16:41
Na, da hast du dir ja ganz schön was vorgenommen. Die größte Schwierigkeit dürfte darin bestehen, die Struktur Daten zu analysieren. Was steht eigentlich wo in der Zeile?
Grundsätzlich aber ist das Verfahren ganz einfach:
Nimm dir die Datei zeilenweise vor (buffered Reader) und zerpflücke dann jede Zeile einzeln:
String[] elemente;
String tmp;
...
elemente = zeile.split(":")
tmp = elemente[0];
ersteAnalyse(tmp);
...

Wenn ich die Beispieldaten richtig interpretiere, ist der doppelpunkt das Trennzeichen zwischen den einzelnen Elementen.
Also trenne die Zeile jeweils da auf und packe sie in ein Array.
Über das wanderst du dann und vergleichst jeweils den Inhalt mit der Codetabelle und machst das, was du machen willst.
Vorsicht! die Quelldatei scheint Zeichen zu enthalten, die extra behandelt werden müssen ('\).

TB75
20-06-2005, 07:14
Danke!

Da ich Anfänger bin, fällt mir es immer noch schwer diese
Aufgabenstellung erfolgreich zu programmieren.

Auf jeden Fall vielen Dank für die Hilfe.


Gruss
TB75