Data Factory > CSV vers XML
Cible
Transformer un ou plusieurs fichiers CSV ou TXT en fichier XML standard
Exemple d'usage dans un job
- Importer quotidiennement un fichier produit au format csv
1. FTP Get Récupérer le dernier fichier qui termine par -products.xlsx
2. CSV to XML Transformer le fichier CSV en XML
3. XSLT Transformer au format Product-Live
4. Import Items Importer les items1
2
3
4
2
3
4
Les Entrées / Sorties
Exemple de définition de cette tâche en JSON
json
{
"name": " ",
"taskReferenceName": "b",
"description": "The business description of the task",
"type": "SUB_WORKFLOW",
"optional": false,
"inputParameters": {
"mode": "FILE",
"file": "${a.output.file}",
"columnSeparator": ";",
"textDelimiter": "\"",
"escapeCharacter": "\""
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
Les entrées
| Propriété | Description |
|---|---|
| mode | *Obligatoire - Enum - FILE, FILESFILE permet de transformer un unique fichier passé en paramètre de la tâche. c’est l’entrée file qui est utiliséeFILES on applique la transformation à chacun des fichiers présents dans files |
| file | Obligatoire si mode = FILE - FileLe fichier à traiter. |
| files | Obligatoire si mode = FILES - FileLes fichiers à traiter. |
| columnSeparator | Obligatoire - String Le séparateur de colonne, généralement ; ou , |
| textDelimiter | Obligatoire - String Le délimiteur de texte, généralement quote ou double quote |
| escapeCharacter | Obligatoire - String Le caractère d’échappement dans le cas d’utilisation du textDelimiter dans le texte. Généralement c’est le même que le textDelimiter |
| allowEmpty | Optionnel - Boolean - Default falsetrue - les valeurs vides sont exportéesfalse - elles ne sont pas exportées |
Les sorties
| Propriété | Description |
|---|---|
| allFilesTransformed | Enum - YES, NOSi tous les fichiers transformés : YES sinon NODans les deux cas la tâche ne part pas en erreur mais bien en succès. |
| file | File Le fichier contenant l'ensemble des transformations (en mode file ou files) |
Exemple de fichier file en sortie
Que ça soit dans le cas où il y a un seul fichier ou dans le cas où il y a plusieurs fichiers en entrée, il n’y a qu’un seul fichier en sortie. Dans le cas où il y a plusieurs fichiers en entrée, il y a donc plusieurs éléments
Filedans le fichier ci-dessous.
xml
<Csv-To-Xml>
<File>
<File-Name>products.csv</File-Name>
<Rows>
<R i="1">
<C j="1">EAN</C>
<C j="2">1234567890123</C>
<C j="3">1234567890124</C>
</R>
</Rows>
</File>
</Csv-To-Xml>1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
| XPath | Description | Occurrence |
|---|---|---|
| Csv-To-Xml | Racine du document | 1 |
| File | Pour chaque fichier transformé | 0..* |
| ./File-Name | Le nom du fichier | 1 |
| ./Rows | Les lignes | 1 |
| ../R | Pour chaque ligne | 0..* |
| ../R/@i | L’index de la ligne, commence à 1 | 1 |
| ../R/C | Pour chaque colonne, la valeur de la cellule. (remarque: il n'y a pas de balise CDATA) Ne pas exporter si aucune valeur n'est présente et allowEmpty = false | 0..* |
| ../R/C/@j | L’index de la colonne commence à 1 | 1 |
Notes générales
- L'ordre des fichiers dans l'entrée
filesest conservé dans le fichierfilexml en sortie - Le fichier généré est présenté sans indentation (pour limiter sa taille)