Beispiel: Iterieren durch Datenelemente

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Datenquellen und -ziele > CSV- und Textdateien >

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\MapForce2019\MapForceExamples\Tut-xml2csv.mfd.

Tut-xml2csv-ENT

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.

Tut-xml2csv02-ENT

 

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.

x2csv-3

Ähnlich dazu wird bei Verbindung von Department mit dem Datenelement Rows für jede Abteilung (department) der XML-Quelldatei eine Zeile erzeugt.

Tut-xml2csv03-ENT

Die Ausgabe würde folgendermaßen aussehen:

x2csv-5

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).


© 2019 Altova GmbH