FlowHeater Demo Video
 
FlowHeater - The Data Import / Export Specialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Schauen Sie sich auch die verfügbaren Beispiele zum XML Adapter an evtl. kann Ihre Frage hiermit schon beantwortet werden: Allgemeine Beispiele zur XML Verarbeitung
  • Seite:
  • 1

THEMA: XML Dateien aus ZIP Archiv verarbeiten

XML Dateien aus ZIP Archiv verarbeiten 1 Jahr 1 Monat her #3538

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1450
Guten Tag,

ich habe eine Frage bezüglich eines Prozesses.

Wir haben ein funktionierendes Mapping von XML auf CSV gebaut. Der Haken ist, man erhält eingangsseitig ein ZIP Archiv, in der mehrere xml á 250 Datensätzen vorhanden sind. Wie könnte man nun, um es für den Kunden so einfach wie möglich zu machen, die in der ZIP enthaltenen XML Dateien hintereinander vom FlowHeater verarbeiten
lassen?

-> Zip muss entpackt werden, die xml nacheinander an den FlowHeater gegeben werden um sie hintereinander zu verarbeiten und entsprechend der vorhandenen Definition auszugeben

Würde hier die Batch-Version des FlowHeaters benötigt?

Oder könnte man selbst ein Script (*.bat) schreiben, welches den FlowHeater mit integriert?

Mfg A. Seiffert
Anfrage per Email erhalten

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Letzte Änderung: von FlowHeater-Team.

XML Dateien aus ZIP Archiv verarbeiten 1 Jahr 1 Monat her #3539

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1450
Hallo Herr Seifert,

ja, dafür benötigen Sie das Batch Modul und ein CMD (bzw. BAT) oder aber ein Power Shell (PS1) Skript. Je nachdem wie weit die Automatisierung gehen soll evtl. auch noch den FlowHeater Server ?

Das Skript müsste die ZIP Datei in einem Ordner entpacken, das geht am einfachsten mit 7-Zip mit Kommandozeilen Optionen.

z.B. 7Z.exe e C:\Work\xml-files.zip

Den Inhalt des Verzeichnisses am besten vorher im Skript noch löschen, damit keine älteren XML Dateien mehr vorhanden sind. Anschließend können Sie Ihre XML Verarbeitung mit dem Batch Modul und Wildcards ausführen lassen.

z.B. FHBatch.exe /ReadFileName C:\Work\*.xml CSV-Konvertierung.fhd

So werden über das Batch Modul alle XML Dateien im Verzeichnis C:\Work mit der angegebenen FlowHeater Definition „CSV-Konvertierung.fhd“ verarbeitet.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Folgende Benutzer bedankten sich: Andre Seiffert

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

XML Dateien aus ZIP Archiv verarbeiten 1 Jahr 1 Monat her #3542

Hallo Herr Stark,

die Batch Version läuft nun bei uns.

Ich habe leider überhaupt keine Erfahrungen oder Kenntnisse hinsichtlich eines Skriptes. Dementsprechend kann ich mit den o.g. Angaben
wenig bis gar nichts anfangen. :unsure:


7zip haben wir im Einsatz. Ich weiß jetzt leider nicht, wo ich nun anfangen soll ;)

Der Kunde lädt sich die zu verarbeitende Zip von unserer Webseite herunter und nun müsste das Skript und die Verarbeitung über den FlowHeater gestartet werden.

Können Sie helfen?

Eine Beispiel-zip in der mehrere xml enthalten sind kann ich Ihnen per E-Mail senden. Benötigen Sie auch das Mapping (*.fhdt) ?

Gruß

A.Seiffert

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

XML Dateien aus ZIP Archiv verarbeiten 1 Jahr 1 Monat her #3543

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1450
Hallo Herr Seiffert,

ich habe Ihnen im Anhang mal ein kleines einfaches Beispiel erstellt, den Inhalt des ZIP Archives dazu in ein beliebiges Verzeichnis entpacken.

Hier ist ein Beispiel CMD Skript „DoWork.cmd“ enthalten sowie ein ZIP Archiv mit 3 Dateien. Das Skript entpackt die Dateien im gleichen Verzeichnis und führt dann das Batchmodul aus das alle Dateien (Parameter /ReadFileName) im Verzeichnis verarbeitet.

Vorgehen
  1. Das heruntergeladene ZIP Archiv mit den XML Dateien müsste in das Verzeichnis mit dem CMD Skript kopiert werden

  2. Konsole (cmd.exe) öffnen und in das Verzeichnis wechseln

  3. DoWork.cmd NameDerDatei.zip eingeben und bestätigen, siehe Screenshot
Das war´s dann auch schon. Das Skript müsste dann nur noch an Ihre Umgebung angepasst werden.

PS: Über den FlowHeater Server (Firmenlizenz erforderlich) wäre es möglich das Skript auch automatisch zu starten sobald die Datei ins Verzeichnis kopiert wurde!



CMD Skript
@echo off

REM Pfad zum FlowHeater Batch Modul evtl. anpassen
set FHBATCH="C:\Program Files\FlowHeater V4\BIN\FHBatch.exe"

REM Pfad zur 7z.exe evtl. anpassen
set ZIP="C:\Program Files\7-Zip\7z.exe"

REM Prüfen ob ein Übergabeparameter angegeben wurde
if "%1" == "" goto fehler1

REM Prüfen ob die datei existiert
if not exist %1 goto fehler2


REM vor der Verarbeitung evtl. alle vorhandenen TXT Dateien löschen. für XML *.txt auf *.xml änderrn
if exist *.txt del /Q *.txt

REM Zip Archiv entpacken
%ZIP% e %1


REM alle TXT Dateien verarbeiten und zur one.csv zusammenführen, one.csv vorher löschen
if exist one.csv del one.csv
%FHBATCH% /ReadFileName *.txt create-one-csv.fhd


REM aktuelle one.csv anzeigen
start notepad.exe one.csv

REM nach der Verarbeitung evtl. alle vorhandenen TXT Dateien löschen. für XML *.txt auf *.xml änderrn
if exist *.txt del /Q *.txt


goto ende

:fehler1
echo !!! Fehlerhafter Aufruf !!!
echo Aufruf: DoWork.cmd [ZIP Archiv Datei]
goto ende

:fehler2
echo !!! Fehlerhafter Aufruf !!!
echo Datei %1 nicht gefunden
goto ende

:ende

Dateianhang:

Dateiname: create-one-csv.zip
Dateigröße:3 KB

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Folgende Benutzer bedankten sich: Andre Seiffert

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Letzte Änderung: von FlowHeater-Team.

XML Dateien aus ZIP Archiv verarbeiten 1 Jahr 1 Monat her #3544

Vielen Dank für die Hilfe.

Ich denke, ich habe mich etwas missverständlich ausgedrückt.

Mit dem von Ihnen erstellten Script wird dafür gesorgt, dass

1) die Zip mit den Textdateien entpackt wird und
2) die entpackten txt-Dateien zu einer csv zusammengefasst werden.

Was ich jedoch benötige ist, dass

1) die zip mit den XML entpackt wird und
2) nacheinander von einem im FlowHeater erstellten Mapping (XML Adapter --> CSV Adapter) abgearbeitet werden.

Es kann natürlich sein, dass aufgrund der Arbeitsweise des FlowHeater aus diesen vielen entpackten XML eine einzige erstellt werden muss, damit dieser es nach der Definition abarbeitet werden kann.
Das weiß ich jedoch nicht.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

XML Dateien aus ZIP Archiv verarbeiten 1 Jahr 1 Monat her #3545

  • FlowHeater-Team
  • FlowHeater-Teams Avatar Autor
  • Offline
  • Beiträge: 1450
Hallo Herr Seiffert,

das war nur ein Beispiel, das Skript muss natürlich auf Ihre Bedürfnisse angepasst werden. Was bzw. welche FlowHeater Definition Sie im Skript ausführen bleibt Ihnen überlassen :-)

Wenn Sie das Batch Modul mit der Option /ReadFileName verwenden und als Dateinamen Wildcards verwenden ruft das Batchmodul für jede Eingangsdatei die angegeben FlowHeater Definition auf. Im aktuellen Fall „create-one-csv.fhd“. In der Definition ist festgelegt, dass diese lediglich die Daten in eine CSV Datei schreibt bzw. falls vorhanden anfügt, siehe Screenshot.

Sie können hier natürlich auch aus jeder XML Datei eine separate CSV Datei erzeugen lassen. Ich habe das Beispiel mal dementsprechend angepasst. Es wird nun pro XML Datei eine CSV Textdatei erzeugt. Der Ausgabedateiname (ohne Endung) wird dabei mittels FlowHeater Parameter von der Eingangsdatei übernommen.



Dateianhang:

Dateiname: xml-2-csv.zip
Dateigröße:3 KB

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Folgende Benutzer bedankten sich: Andre Seiffert

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Letzte Änderung: von FlowHeater-Team.

XML Dateien aus ZIP Archiv verarbeiten 1 Jahr 1 Monat her #3546

Super, es hat geklappt. :woohoo:

Ich habe nun meine FlowHeater Definition mit in das Skript eingebunden. Die zip wurde entpackt und alle XML gemäß der Definition verarbeitet.

Anschließend wurden die entpackten XML wieder gelöscht.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

Copyright © 2009-2019 by FlowHeater GmbH.
Alle Rechte vorbehalten.

Follow us on

twitter  facebook

YouTube

 de en