Exemple d\'utilisation d\'actions dans le XML package

À l\'aide du XML package, créez un robot qui lit et écrit les données d\'un fichier XML dans une feuille Excel.

L\'exemple de XML utilisé dans ce tutoriel a la structure suivante :
<movies>
    <movie genre="" year="">
        <name></name>
        <description></description>
        <director></director>
        <writers>
            <writer type=""></writer>
            <writer type=""></writer>
        </writers>
        <rating>R</rating>
    </movie>
</movies>

Avant de commencer, téléchargez un exemple de fichier XML.

Dans ce tutoriel, nous vous expliquons comment effectuer les actions suivantes :
  • Utiliser une expression XPath pour obtenir un ensemble de nœuds avec une valeur spécifique et itérer au sein des éléments de l\'ensemble de nœuds, par exemple, les films avec un classement spécifique dans ce tutoriel.
  • Utiliser une fonction XPath pour itérer au sein des ensembles de nœuds enfants.
  • Concaténer des variables pour créer une chaîne.
  • Écrire des données dans une feuille Excel.

Prérequis

Assurez-vous de ce qui suit :

  • Vous savez comment créer des robots.
  • Vous connaissez l\'interface utilisateur de la Control Room.

Procédure

  1. Créez un robot et nommez-le XMLDataReader.
  2. Ajoutez une étape pour regrouper toutes les tâches d\'ouverture d\'une feuille Excel.
    1. Ajoutez l\' Étape > Étape action après le flux Démarrer dans l\'Éditeur de Bot.
      Remarque : Pour ajouter une action, recherchez l\'action dans le volet Actions et faites-la glisser vers le flux de robot dans l\'Éditeur de Bot.
    2. Dans Titre, saisissez Open an Excel Sheet et enregistrez l\'action.
  3. Pour créer et ouvrir une feuille Excel, utilisez Excel avancé > Créer un classeur.
    1. Ajoutez l\' Excel avancé > Créer un classeur action dans l\' Étape action.
    2. Dans Chemin de fichier, saisissez C:\movies\movies.xlsx et enregistrez l\'action. Si le dossier movies n\'existe pas dans le chemin spécifié, créez un dossier movies dans le chemin.
  4. Pour sélectionner la première cellule de la feuille Excel, utilisez l\'Excel avancé > Accéder à la cellule action.
    1. Ajoutez l\'action Excel avancé > Accéder à la cellule après l\'action Excel avancé : Créer un classeur action.
    2. Cliquez sur l\'option Cellule spécifique si elle n\'est pas déjà sélectionnée, puis saisissez A1.
    3. Enregistrez l\'action.
  5. Créez une autre étape afin de regrouper toutes les tâches de récupération des données XML.
    1. Ajoutez l\'action Étape > Étape après la première Étape action.
    2. Dans Titre, saisissez Obtenir les données XML et enregistrez l\'action.
  6. Démarrez une session XML.
    1. Ajoutez l\' XML > Démarrer une session action dans l\'étape Obtenir les données XML.
    2. Sous Fichier, sélectionnez Bureau, recherchez et sélectionnez l\'exemple de fichier XML que vous avez téléchargé.
    3. Enregistrez les modifications.
  7. Pour obtenir tous les nœuds de films classés R, utilisez l\' Obtenir plusieurs nœuds action.
    1. Ajoutez l\'action XML > Obtenir plusieurs nœuds après l\' Démarrer une session action.
    2. Dans Expression XPath, saisissez //movie[rating/text()=\'R\'] et enregistrez l\'action.
      L\'ensemble de nœuds sélectionné est stocké dans une variable système et est disponible pour l\'itérateur Pour chaque nœud dans un ensemble de données XML maintenant.
    3. Pour que l\'action récupère l\'ensemble des nœuds et non seulement les nœuds de texte, cliquez sur Expression Xpath.
  8. Utilisez l\'action Boucle pour itérer au sein de l\'ensemble de nœuds sélectionné que l\' Obtenir plusieurs nœuds action récupère.
    1. Ajoutez Boucle > Boucle après l\'action XML: Obtenir plusieurs nœuds action.
    2. Sous Itérateur, sélectionnez XML > Pour chaque nœud dans un ensemble de données XML comme itérateur.
    3. Dans Attribuer la ligne active à cette variable, cliquez sur (x) et créez une variable avec le nom par défaut, par exemple, XMLNode. Chaque élément de l\'ensemble de nœuds est maintenant disponible par le biais de la variable.
    4. Enregistrez le action.
  9. Pour obtenir le nom du film à partir du nœud itéré, utilisez l\' Obtenir un seul nœud action.
    1. Ajoutez l\'action XML > Obtenir un seul nœud dans l\'action Boucle : Boucle action.
    2. Dans Expression XPath, saisissez $XMLNode$/name.
    3. Dans Attribuer la sortie à une variable, créez une variable et nommez-la sMovieName.
    4. Enregistrez le action.
  10. Pour écrire le nom du film à partir de la variable XMLNode, utilisez l\' Définir la cellule action.
    1. Ajoutez l\' Excel avancé > Définir la cellule action après l\' Obtenir un seul nœud action.
    2. Cliquez sur Cellule active, saisissez $sMovieName$ dans Valeur de la cellule, et enregistrez l\'action.
  11. Pour sélectionner une nouvelle cellule dans la feuille Excel, utilisez l\' Accéder à la cellule action.
    1. Ajoutez l\' Accéder à la cellule action après l\' Définir la cellule action après l\'action Excel avancé: Définir la cellule action.
    2. Cliquez sur Cellule active, sélectionnez Une cellule à droite, puis enregistrez l\'action.
  12. Pour obtenir le nom du directeur à partir du nœud itéré, utilisez l\' Obtenir un seul nœud action.
    1. Ajoutez l\' XML > Obtenir un seul nœud action après l\'Excel avancé: Accéder à la cellule action.
    2. Dans Expression XPath, saisissez $XMLNode$/director.
    3. Dans Attribuer la sortie à une variable, créez une variable avec le nom suivant : sDirector.
    4. Enregistrez le action.
  13. Pour écrire le nom du directeur à partir de la variable XMLNode, utilisez l\' Définir la cellule action.
    1. Ajoutez l\'action Excel avancé > Définir la cellule après l\'action XML: Obtenir un seul nœud action.
    2. Cliquez sur Cellule active, saisissez $sDirector$ dans Valeur de la cellule, et enregistrez l\'action.
  14. Pour sélectionner une nouvelle cellule dans la feuille Excel, utilisez l\' Accéder à la cellule action.
    1. Ajoutez l\' Accéder à la cellule action après l\'action Excel avancé: Définir la cellule action.
    2. Cliquez sur Cellule active, sélectionnez Une cellule à droite, puis enregistrez l\'action.
  15. Étant donné que le nœud<writers>peut contenir plusieurs nœuds<writer>obtenez le nom de chaque rédacteur, concaténez les noms et écrivez-les dans une seule cellule au lieu d\'écrire des valeurs dans plusieurs cellules. Pour ce faire, ajoutez l\' Boucle action dans l\' Boucle action active.
    1. Pour obtenir le nombre de nœuds<writer>dans le nœud<writers>ajoutez XML > Exécuter la fonction XPath après l\'action Excel avancé: Définir la cellule action. Dans Expression XPath, saisissez count($XMLNode$/writers/writer). Dans Attribuer la sortie à une variable, créez une variable nommée sWriterCount.
      Vous utiliserez le nombre de nœuds<writer>pour parcourir en boucle tous les nœuds<writer>.
    2. Ajoutez l\'action Boucle > Boucle après l\'action XML: Exécuter la fonction XPath action.
      Important : La deuxième Boucle action doit être ajoutée dans l\' Boucle principale action.
    3. Sous Itérateur, sélectionnez Pour n fois comme itérateur.
    4. Dans Fois, saisissez la valeur suivante : $sWriterCount.String:toNumber$
      Remarque : sWriterCount contient une valeur de chaîne. Pour convertir une chaîne en nombre, vous pouvez utiliser le format
      lt;variable name>.String:toNumber$. Par exemple, $sWriterCount.String:toNumber$.
    5. Dans Attribuer la valeur actuelle à une variable (facultatif), créez une variable nommée Counter.
    6. Enregistrez le action.
  16. Pour concaténer les valeurs de tous les nœuds writer, créez une variable de chaîne.
    1. Dans le volet Variables, cliquez sur l\'icône plus.
      La fenêtre Créer la variable s\'ouvre.
    2. Dans Type, sélectionnez Chaîne.
    3. Dans Nom, saisissez sWriters.
    4. Cliquez sur Créer.
  17. Pour obtenir la valeur du nœud<writer>itéré, utilisez l\' Obtenir un seul nœud action.
    1. Ajoutez l\' XML > Obtenir un seul nœud action dans l\' Boucle action.
    2. Dans Expression XPath, saisissez $XMLNode$/writers/writer[$Counter.Number:toString$].
      À l\'aide de la variable Counter, vous pouvez accéder à un nœud à un index spécifique. Notez que, comme la variable Counter contient une valeur numérique, l\'expression .Number:toString$ est ajoutée à la variable Counter pour la convertir en chaîne.
    3. Dans Attribuer la sortie à une variable, créez une variable et nommez-la sWriter.
    4. Enregistrez le action.
  18. Pour attribuer des valeurs à partir des nœuds writer, utilisez l\' Chaîne > Attribuer action.
    1. Ajoutez l\'Chaîne > Attribuer action après XML: Obtenir un seul nœud dans la deuxième boucle.
    2. Dans le champ Sélectionner la ou les variable(s)/la valeur source (facultatif), saisissez $sWriters$, $sWriter$.
    3. Dans Sélectionner la variable de la chaîne de destination, sélectionnez sWriters.
    4. Enregistrez le action.
    Une fois la boucle interne terminée, la variable sWriters contiendra tous les noms des rédacteurs.
  19. Pour écrire les noms des rédacteurs dans une nouvelle cellule, utilisez l\'action Excel avancé > Définir la cellule dans la boucle principale.
    1. Ajoutez l\' Excel avancé > Définir la cellule action après l\'action Boucle intérieure dans la première Boucle action.
    2. Cliquez sur Cellule active.
    3. Saisissez $sWriters$ dans Valeur de la cellule.
    4. Enregistrez le action.
    Les données extraites d\'un nœud<movie>sont écrites dans une ligne. Pour écrire les données du nœud<movie>suivant, vous devez sélectionner la ligne suivante dans la feuille Excel.
  20. Pour déplacer le curseur sur la ligne suivante, utilisez l\' Excel avancé > Accéder à la cellule action.
    1. AjoutezAccéder à la cellule action aprèsDéfinir la cellule action.
    2. Cliquez sur Cellule active, sélectionnez Début de la ligne, puis enregistrez l\'action.
    3. Ajoutez à nouveau l\' Accéder à la cellule action. Cliquez sur Cellule active, sélectionnez Une cellule en dessous, puis enregistrez l\'action.
  21. Avant que le nœud suivant de l\'ensemble de nœuds<movie>soit itéré, vous devez réinitialiser la variable sWriters. Pour réinitialiser la variable sWriters, effectuez les étapes suivantes :
    1. Ajoutez l\'action Chaîne > Attribuer après Excel avancé: Accéder à la cellule dans la boucle principale.
    2. Laissez le champ Sélectionner la ou les variable(s)/la valeur source (facultatif) vide.
    3. Dans Sélectionner la variable de la chaîne de destination, sélectionnez sWriters.
    4. Enregistrez le action.
  22. Créez une nouvelle étape.
    1. Ajoutez l\'action Étape > Étape après la deuxième action Étape.
    2. Dans Titre, saisissez Close the file.
  23. Pour fermer la feuille Excel, utilisez l\' Excel avancé Fermer action.
    1. Ajoutez Excel avancé > Fermer dans l\'étape Fermer le fichier.
    2. Enregistrez les modifications.
  24. Exécutez le robot.