Altova MapForce 2024 Enterprise Edition

Exemple : Itérer à travers des items

Accueil Préc Haut Suivant

Cet exemple illustre comment créer des itérations (plusieurs lignes) dans un fichier CSV cible. Le fichier de design de mappage qui accompagne cet exemple est disponible sous le chemin suivant : <Documents>\Altova\MapForce2024\MapForceExamples\Tutorial\Tut-xml2csv.mfd.

Tut-xml2csv-ENT

Tut-xml2csv.mfd

Ce mappage est resté inachevé intentionnellement. Si vous tentez de valider le fichier d'exemple en utilisant la commande de menu Fichier | Valider le mappage, vous remarquerez que des avertissements de validation se produiront. De même, si vous prévisualisez la sortie de mappage, une ligne individuelle est produite, ce qui peut constituer votre objectif (ou pas).

 

Partons du principe que votre objectif est de créer plusieurs lignes dans le fichier CSV depuis une séquence d'items dans le fichier XML. Vous pouvez obtenir ce résultat en tirant une connexion dans l'item Rows du fichier CSV cible.

 

Par exemple, pour itérer dans tous les bureaux et obtenir une sortie qui apparaisse dans le fichier CSV, il est nécessaire de connecter Office à Rows. De fait, vous indiquez à MapForce que : pour chaque item Office du XML de source, il faut créer une ligne dans le fichier CSV cible.

Tut-xml2csv02-ENT

 

Les items Rows dans le composant CSV agissent comme un itérateur pour la séquence des items qui y sont connectés. Ainsi, si vous connectez l'item Office, la sortie crée une ligne pour chaque bureau trouvé dans le XML de source.

x2csv-3

De manière semblable, si vous connectez Department à l'item Rows, une ligne sera produite pour chaque département trouvé dans le XML de source.

Tut-xml2csv03-ENT

La sortie ressemblerait à l'exemple suivant :

x2csv-5

Enfin, le mappage de Person à l'item Rows résulte dans une sortie de toutes les Persons. Dans ce cas, MapForce itérera dans tous les enregistrements comme suit : chaque Person dans chaque Department, dans chaque Office.

© 2018-2024 Altova GmbH