Library gesucht um unstruktuierte Textfiles zu parsen (ggf Konvertierung nach XML)

mcdroemmel

Mitglied
Hallo zusammen,

ich bin auf der Suche nach einer Library die mir hilft unstrukturierte Ascii-Files zu untersuchen. Dabei sollte grob erkannt werden um was für Textfiles es sich handelt um dann aus dem Textfile Nutzdaten zu ziehen.

Hintergrund: Bekomme Bestellungen als E-Mail von unterschiedlichen Kunden. Diese Kunden haben im MailBody (Text) die Informationen je nach Kunde die Daten an unterschiedlichen Stellen stehen, teilweise auch unterschiedlich formattiert (z.B. ein Bestelldatum).

Ich möchte jetzt diese unterschiedlichen Bestellungen erkennen (ginge evt noch über die Mail-Adresse) und die Informationen dann auslesen und in eine gemeinsame Datenbank-Tabelle überführen.

Hat jemand eine Idee welches Tool mich ggf untersützen könnte ohne das man alles selbst entwickeln muss. Außerdem zählen Regular-Expressions (die sicher hier auch einiges möglich machen würden) nicht unbedingt zu meinen Lieblingen...

Gruß
McD
 
Wie wäre es damit, bei Bestellungen im Betreff immer eine ID anzugeben, die die Kunden unbedingt dort drin lassen sollen? Dann würdest du dir mit der Erkennung zumindest deutlich leichter tun.
 
Hallo,

das reicht leider nicht. Wir haben es mit vielen Kunden zu tun. Leider auch teilweise größer als wir. Denen vorzuschreiben wie sie uns die Daten senden ist so als wenn ich einem Schwarm Bienen sage auf welchem Feld sie Honig sammeln sollen. Das ist oft versucht worden.
Der Auftrag kommt aus deren Warenwirtschaft zu uns. Und mal als Pdf, mal als Tiff, mal als Ascii-Mail. Alle drei laufen letztlich darauf hinaus, irgendwie die Daten im Dokument zu identifizieren die man braucht. Für wichtige Kunden lohnt das, für weniger wichtige lässt man es. Pdf und Tiff werden zunächst in Text überführt und dann genauso behandelt wie der Auftrag im Mail-Body.

Also hab eich eben eine Textdatei die letztlich ein Bestellformular abbildet. Hab mich schon ein wenig mit der Java-Klasse Scanner rangewagt, wo ich dann mit (einfachen) RegEx-Ausdrücken nach Schlüsselwörtern such (z.B. Kdnr: ) und den Text dahinter interpretiere.
Habe nur gehofft es es irgendwie noch ne Lib gibt die das noch besser und vor allem für mich als Entwickler der eigentlichen Busines-Logik noch einfach hinbringt.

Gruß
McD
 
Denen vorzuschreiben wie sie uns die Daten senden ist so als wenn ich einem Schwarm Bienen sage auf welchem Feld sie Honig sammeln sollen.

Imker können dass so weit ich weiß :-D

Und mal als Pdf, mal als Tiff, mal als Ascii-Mail. Alle drei laufen letztlich darauf hinaus, irgendwie die Daten im Dokument zu identifizieren die man braucht. Für wichtige Kunden lohnt das, für weniger wichtige lässt man es. Pdf und Tiff werden zunächst in Text überführt und dann genauso behandelt wie der Auftrag im Mail-Body.
Verstehe ich Dich richtig, dass die Bestellungen durchaus "genormt" sind, nur aber von Kunde zu Kunde unterschiedlich?
Also hab eich eben eine Textdatei die letztlich ein Bestellformular abbildet. Hab mich schon ein wenig mit der Java-Klasse Scanner rangewagt, wo ich dann mit (einfachen) RegEx-Ausdrücken nach Schlüsselwörtern such (z.B. Kdnr: ) und den Text dahinter interpretiere.
Der Ansatz klingt doch schon ganz prima.
Habe nur gehofft es es irgendwie noch ne Lib gibt die das noch besser und vor allem für mich als Entwickler der eigentlichen Busines-Logik noch einfach hinbringt.
Es gäbe da noch eine Kanone für Deinen Spatz.
Stichwort: Java Compiler Compiler :-D

Nebenbei: Ohne ReGex wirst Du vermutlich nicht rumkommen. Habe selbst auch einige Zeit gebraucht mich damit gescheit auseinanderzusetzen, weil sie oft sehr kryptisch wirken.
Nur Mut dazu :-)

Takidoso
 
Es gibt Libs zum Lesen und Schreiben Bestimmter Dokumente, aber keine dieser Libs kann die das Untersuchen deiner Dokumente abnehmen!

Denn eins sollte dir klar sein, Es muss immer eine Struktur vorhanden sein die du untersuchen kannst! Und diese ist von Anwendungsfall zu Anwendungsfall immer unterschiedlich.

Zum Beispiel:

Code:
beliebiger text
Bestel Nr.: 123456
Artikel-Nr.: 987654 Stk.: 5
Artikel-Nr.: 654547 Stk.: 1
beliebiger text

so was kann man untersuchen, dazu würde ich dann einen inputreader nehmen und ziele für Zeile, Wort für Wort einlesen und auf mein Key Wörd mittels Regex untersuchen. Wenn ich mein Key gefunden habe wäre das nächste Word das was ich haben möchte.
 
Zurück