Beispiel: Iterieren durch Datenelemente
In diesem Beispiel wird gezeigt, wie Sie Iterationen (mehrere Zeilen) in einer CSV-Zieldatei erstellen. Die Mapping-Design-Datei zu diesem Beispiel finden Sie unter dem folgenden Pfad: <Dokumente>\Altova\MapForce2025\MapForceExamples\Tut-xml2csv.mfd.
Tut-xml2csv.mfd
Dieses Mapping wurde absichtlich als unvollständiges Mapping erstellt. Wenn Sie versuchen, die Beispieldatei mit dem Menübefehl Datei | Mapping validieren zu validieren, erhalten Sie eine Validierungswarnung. Wenn Sie außerdem eine Vorschau der Mapping-Ausgabe anzeigen, wird nur eine einige Zeile erzeugt, was eventuell nicht das beabsichtigte Ergebnis ist.
Angenommen, Sie möchten anhand einer Sequenz von Datenelementen aus der XML-Datei mehrere Zeilen in der CSV-Datei erstellen. Sie können dazu auch eine Verbindung zum Datenelement Rows der CSV-Zieldatei ziehen.
Um z.B. durch alle offices (Büros) zu iterieren, sodass die Ausgabe in der CSV-Datei aufscheint, müssen Sie Office mit Rows verbinden. Dadurch erstellt MapForce für jedes Office-Datenelement der XML-Quelldatei eine Zeile (row) in der CSV-Zieldatei.
Das Datenelement Rows in der CSV-Komponente fungiert als Iterator für die damit verbundene Datenelementsequenz. Wenn Sie daher das Datenelement "Office" verbinden, wird in der Ausgabe für jedes in der XML-Quelldatei gefundene office-Element eine Zeile (row) erstellt.
Ähnlich dazu wird bei Verbindung von Department mit dem Datenelement Rows für jede Abteilung (department) der XML-Quelldatei eine Zeile erzeugt.
Die Ausgabe würde folgendermaßen aussehen:
Wenn Sie schließlich Person auf das Datenelement Rows mappen, werden alle Personen (persons) ausgegeben. In diesem Fall iteriert MapForce folgendermaßen durch die Datensätze: jede Person in jeder Abteilung (department) in jedem Büro (Office).