Zum Inhalt springen

Einstieg in Java, v.a. XML-Import von Adressen


Gast frfr

Empfohlene Beiträge

Hallo

Ich soll demnächst so Java programmieren, der Leiter kommt da mit so Wünschen um die Ecke, da will man nicht nein sagen.

Da könnte ein CD aufm Tisch landen (mit dutzenden Dateien), auf der sind Personen aufgeführt, die irgendwie relevant sind (oder sein können) und Chef will die per Briefpost ansprechen, Broschüre zuschicken oder sonstwas.

Eine Datei könnte ungefähr so aussehen (viele Firmen in einer Datei)
 

<firma>

<firmenname>

Mustermann GmbH

<Firmenname>

<postadresse>

bahnhofstr. 11, 55555 Musterhausen

<postadresse>

<prokurist>

Max Maier

<prokurist>

<prokurist>

Henriette Huber

</prokurist>

</firma>

 

Wie geht man da vor?

Es sollen Adressaufkleber / Anschreiben entstehen, für jeden Prokuristen, am liebsten soll noch erkannt werden "Hans" oder "Hubert" führt zu Anrede Herr ____, "Henriette" oder "Tanja" führt zu Anrede Frau ____, ansonsten "sehr geehrte D&H"

erste Frage: Wie klappere ich alle Dateien ab? erledigte können verschoben werden im Dateisystemordner "erledigt", da kopiere ich mir die Dateien lokal.

zweite Frage: Wie stelle ich sicher, dass Postadresse mind. Strasse und Hausnummer und Postleitzahl und Ort enthält, Fehlerhafte sollen in einen Dateisystemordner "Nachfragen" verschoben werden. wobei in einer Datei 50 vollständige und 2 unvollständige Adressen drin sein können.

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 18 Minuten schrieb allesweg:

Geschlecht am Vornamen erkennen: Nein.

Ich würde sagen doch. Gibt im Internet genug Listen mit männlichen/weiblichen Vornamen. Ich würde zwei Listen erstellen und alle Einträge, welche in beiden vorhanden sind rauslöschen. Danach evtl. nochmal eine Unisexliste herunterladen und alle dort enthaltenen Namen aus den Listen männlich/weiblich löschen. 

Wenn ein EIntrag in der Liste ist -> Zuordbar. Wenn nicht -> Manuelle Nachprüfung (evtl. nachträglich in Liste einpflegen)

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Minuten schrieb Chief Wiggum:

Was macht ihr bei solchen Listen bei nicht zuordnenbaren Namen?

Gibt ja doch nicht wenige Namen, die für Mann und Frau gelten können.

Da es hier um viele Firmen geht, welche nur einmalig angeschrieben werden sollen würde ich mich an ein "Sehr geehrte/r *Unisexname*" halten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 25 Minuten schrieb 0x00:

Ich würde sagen doch. Gibt im Internet genug Listen mit männlichen/weiblichen Vornamen.

Oder man führt einfach eine weitere Node ein mit M/W/D

... und überhaupt bin ich der Einzige, der es schlecht findet, dass das mit XML von ner CD gemacht wird?

Bearbeitet von KeeperOfCoffee
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Minuten schrieb KeeperOfCoffee:

Oder man führt einfach eine weitere Node ein mit M/W/D

Wieso anfassen, wenn das eh wahrscheinlich nur einmal benutzt werden soll? Wenn das öfter benutzt werden soll, sollte man sehr stark über ein CRM nachdenken. So oder so ich würde die Finger von den XMLs lassen.

vor 2 Minuten schrieb KeeperOfCoffee:

... und überhaupt bin ich der Einzige, der es schlecht findet, dass das mit XML von ner CD gemacht wird?

Nein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb frfr:

erste Frage: Wie klappere ich alle Dateien ab? erledigte können verschoben werden im Dateisystemordner "erledigt", da kopiere ich mir die Dateien lokal.

XML-Dateien einlesen und in eine Datenbank importieren.

vor 2 Stunden schrieb frfr:

zweite Frage: Wie stelle ich sicher, dass Postadresse mind. Strasse und Hausnummer und Postleitzahl und Ort enthält,

SQL.

vor 2 Stunden schrieb frfr:

Fehlerhafte sollen in einen Dateisystemordner "Nachfragen" verschoben werden.

SQL.

vor 1 Stunde schrieb 0x00:

Ich würde sagen doch. Gibt im Internet genug Listen mit männlichen/weiblichen Vornamen.

Schon mal mit z.B. Indern zusammengearbeitet?

vor einer Stunde schrieb 0x00:
Zitat

... und überhaupt bin ich der Einzige, der es schlecht findet, dass das mit XML von ner CD gemacht wird?

Nein.

+1

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb 0x00:

Gibt im Internet genug Listen mit männlichen/weiblichen Vornamen.

 

Bitte die mal erfolgreich Vorname Name parsen

Casimir Johannes Prinz zu Sayn-Wittgenstein-Berleburg

Axel Varnbüler von und zu Hemmingen

Erika Mustermann MdEP
Franz von Hummelauer SJ
Stephen Hendry MBE
Papst Benedikt XVI. emeritus

Andrea Bodelli vs. Andrea Berg

 

Bearbeitet von MartinSt
Link zu diesem Kommentar
Auf anderen Seiten teilen

erste Frage: Wie klappere ich alle Dateien ab? erledigte können verschoben werden im Dateisystemordner "erledigt", da kopiere ich mir die Dateien lokal.

zweite Frage: Wie stelle ich sicher, dass Postadresse mind. Strasse und Hausnummer und Postleitzahl und Ort enthält, Fehlerhafte sollen in einen Dateisystemordner "Nachfragen" verschoben werden. wobei in einer Datei 50 vollständige und 2 unvollständige Adressen drin sein können.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Minuten schrieb frfr:

erste Frage: Wie klappere ich alle Dateien ab? erledigte können verschoben werden im Dateisystemordner "erledigt", da kopiere ich mir die Dateien lokal.

Hast du schonmal selbst irgendein Programm/Skript erstellt? Dann dürfte das Konzept einer For/Foreach oder While-Schleife ja bekannt sein. 

vor 15 Minuten schrieb frfr:

zweite Frage: Wie stelle ich sicher, dass Postadresse mind. Strasse und Hausnummer und Postleitzahl und Ort enthält, Fehlerhafte sollen in einen Dateisystemordner "Nachfragen" verschoben werden. wobei in einer Datei 50 vollständige und 2 unvollständige Adressen drin sein können.

Aufgrund dieses Problems werden die Daten normalerweise in einzelne Felder, z.B. Straße, Hausnummer, PLZ, Ort, aufgesplittet. Wenn du eine so schlechte Datenbasis vorliegen hast ist das "blöd". 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb frfr:

erste Frage: Wie klappere ich alle Dateien ab? 

vor einer Stunde schrieb frfr:

zweite Frage: Wie stelle ich sicher, dass Postadresse mind. Strasse und Hausnummer und Postleitzahl und Ort enthält, Fehlerhafte sollen in einen Dateisystemordner "Nachfragen" verschoben werden. wobei in einer Datei 50 vollständige und 2 unvollständige Adressen drin sein können.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 16 Stunden schrieb allesweg:

Zustimmung zur Adressverwendung / Newsletterversand liegt natürlich vor?

Ich möchte weiter ergänzen um einige Punkte aus der DSGVO:

- Sind die Daten aktuell und wie habt ihr dies sichergestellt? Stichwort: Datenrichtigkeit und Datenaktualität

- Habt ihr die Personen über die weitere Nutzung der Daten informiert? Stichwort: Artikel 13&14 DSGVO

- Löschkonzepte

- u.v.a.m

 

Außerdem gibts für sowas Adressdienstleister. Schickst die .XML Datei hin, die prüfen ob die Personen so existieren und die Daten aktuell sind. Im Zweifel ergänzen diese die Daten auch. Kosten sind relativ gering pro Adresse.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 13 Minuten schrieb OkiDoki:

Außerdem gibts für sowas Adressdienstleister. Schickst die .XML Datei hin, die prüfen ob die Personen so existieren und die Daten aktuell sind. Im Zweifel ergänzen diese die Daten auch. Kosten sind relativ gering pro Adresse.

Und nicht vergessen, diesen neuen Vorgang für die DSGVO zu berücksichtigen.

vor 17 Stunden schrieb frfr:

zweite Frage: Wie stelle ich sicher, dass Postadresse mind. Strasse und Hausnummer und Postleitzahl und Ort enthält, Fehlerhafte sollen in einen Dateisystemordner "Nachfragen" verschoben werden. wobei in einer Datei 50 vollständige und 2 unvollständige Adressen drin sein können.

Das von dir gezeigte Format ist murks. Bei solchen Adress-Angaben kannst du nur raten mit welchem Teil der Adresse du gerade arbeitest, spätestens sobald ein Adresszusatz dazu kommt.

Das gleiche Problem hast du natürlich auch bei der Anrede. Selbst wenn du Nachnamen gegen Listen mit typischen Frauen- und Männernamen wirfst, Andrea Pirlo wird das Vorgehen nicht gefallen.

Wo kommen die Daten denn her? Kann man das Format noch ändern?

 

Mit einem vernünftigen Format würde ich so vorgehen:

  • Schema-Datei erstellen um zu prüfen ob die jeweiligen Dateien überhaupt dem vereinbarten Format entsprechen
  • Weitere Schema-Datei um auf Datensatzebene Fehler zu finden und Identifikationsmerkmale für fehlerhafte Datensätze zurückzugeben

Die nächsten Schritte hängen davon ab was mit den Daten als nächstes passieren soll:

  • XSL-Dateien erstellen um aus der Ursprungs-XML zwei neue Dateien zu generieren
    • um die fehlerhaften Datensätze einfach in eine fehler.xml zu packen, dabei werden die Datensätze auf die Identifikationsmerkmale der Schema-Datei gefiltert
    • um die korrekten Datensätze rauszufiltern und in eine neue xml zu packen, je nach Anwendungszweck kann man die Daten dabei auch gleich umformen, z.B. ins CSV-Format oder w/e
      • Wenn man FOP anbindet, könnte man an dieser Stelle auch direkt die Anschreiben erstellen

Wenn man keinen Bock darauf hat, ließe sich die XML bestimmt auch per Java bearbeiten, das habe ich aber als recht umständlich in Erinnerung - bin aber auch nicht den Umgang mit Java und den XSLT-Bibliotheken gewohnt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mein Arbeitgeber hat einen Datenschutzbeautragten, Mein Arbeitgeber ist eine Körperschaft öffentlichen Rechts. Wir haben Mitglieder, die wollen wir für neue Sachen ansprechen, die später dann für alle Mitglieder relevant sein können.

Ein CRM ist noch pre-alpha, der Dienstleister bricht sich selbst alle Finger, wiederholt, die pre-alpha-Test-Datenbank ist unter 2 GB gross, aber die Debug-Datenbank dazu ist 80 GB und stark wachsend (kein Staging). Kenn ich so nicht, aber egal. Warum die Datenbank im simple-recovery-Modell fährt, aber die Debug-Datenbank im Full-recovery-Model ist ein Rätsel der Menschheit.

Link zu diesem Kommentar
Auf anderen Seiten teilen

mir geht es um die Java-Programmierung, das Eintüten der Broschüren übernimmt jemand anders. Und Datenschützer ist auch jemand anders.

Ich mach sonst Windows-Server-Kram, und Java ist einfach die einzig erlaubte Programmiersprache.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Um nochmal Hilfestellung zu geben (@frfr: hast du denn Erfahrung im Programmieren?):

Die Logik müsste so aussehen:

  1. Auflisten aller Dateien aus einem Ordner (in etwa so)
  2. Einlesen der einzelnen XML-Dateien (in etwa so)
  3. If notwendige Felder vorhanden:
    1. Datei in Ordner "erledigt" kopieren (in etwa so)
  4. else:
    1. Datei in Ordner "Nachfragen" kopieren

Fang einfach mal mit Schritt 1. an und liste alle Dateien in der Console auf. Wenn du hier Probleme hast: nachfragen. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...