Catalogues fournisseurs

Comment extraire la couleur depuis YML param name="Couleur"

2026-06-29
Objectif

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.

Réponse courte

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

  1. Dans l’offer répété, créez un nouveau noeud enfant <Couleur>.

  2. Ouvrez les paramètres de valeur du nouveau noeud <Couleur>.

    Ouverture des paramètres couleur
    Les paramètres s’appliquent au nouveau champ couleur de sortie.
  3. Méthode 1 : ajoutez la règle Valeur courante quelconque, action Remplacer par la valeur depuis param ; la condition est @name Égal à Couleur.

    Condition Égal à pour couleur
    La comparaison exacte convient quand le fichier utilise le libellé court Couleur.
  4. Méthode 2 : si le fournisseur écrit un autre libellé avec Couleur, utilisez @name Contient la sous-chaîne Couleur.

    Condition Contient la sous-chaîne pour couleur
    Cette variante évite une expression régulière pour les libellés plus longs.
  5. Méthode 3 : gardez l’expression régulière ^Couleur$ (correspond exactement à Couleur) comme option stricte.

    Condition regex pour couleur
    Regex sert seulement au contrôle strict de correspondance exacte.
  6. Sur les param source, 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>

Traitez vos données plus vite avec Eofferix

Créez un compte gratuit pour automatiser catalogues et listes de prix selon vos règles.

S’inscrire