Les caractéristiques YML sont stockées dans des noeuds param répétés : Couleur, Matiere et autres. L’import a besoin d’un champ séparé <Couleur>, et la liste source param ne doit pas être mélangée au résultat.
Créez d’abord un nouveau noeud <Couleur> dans offer. Dans ses paramètres, définissez : Valeur courante quelconque -> remplacer par la valeur de param, mais seulement si @name est égal à Couleur ou contient la sous-chaîne Couleur. L’expression régulière ^Couleur$ vérifie seulement une correspondance exacte complète.
Comment le faire dans Eofferix
Dans l’
offerrépété, créez un nouveau noeud enfant<Couleur>.Ouvrez les paramètres de valeur du nouveau noeud
<Couleur>.
Les paramètres s’appliquent au nouveau champ couleur de sortie. Méthode 1 : ajoutez la règle
Valeur courantequelconque, actionRemplacer par la valeurdepuisparam; la condition est@nameÉgal àCouleur.
La comparaison exacte convient quand le fichier utilise le libellé court Couleur.Méthode 2 : si le fournisseur écrit un autre libellé avec Couleur, utilisez
@nameContient la sous-chaîneCouleur.
Cette variante évite une expression régulière pour les libellés plus longs. Méthode 3 : gardez l’expression régulière
^Couleur$(correspond exactement àCouleur) comme option stricte.
Regex sert seulement au contrôle strict de correspondance exacte. Sur les
paramsource, désactivez l’export de la ligne couleur ou de toute la liste technique des paramètres si elle n’est plus nécessaire.
Avant / après
Avant
données source<yml_catalog date="2026-06-29 10:00">
<shop>
<offers>
<offer id="YML-11001">
<name>Lampe Elodie</name>
<param name="Couleur">blanc</param>
<param name="Matiere">acier</param>
</offer>
<offer id="YML-11002">
<name>Fauteuil Martin</name>
<param name="Couleur">noir</param>
<param name="Matiere">bois</param>
</offer>
</offers>
</shop>
</yml_catalog>Après
résultat<offers>
<offer id="YML-11001">
<name>Lampe Elodie</name>
<Couleur>blanc</Couleur>
</offer>
<offer id="YML-11002">
<name>Fauteuil Martin</name>
<Couleur>noir</Couleur>
</offer>
</offers>