Environnement
Problème/Symptômes
L’un des clients a signalé le problème suivant :
Dans le champ mdata, nous voulons extraire le nom outputFile—voir attachment(mData_outputFile.png) pour l’emplacement, stocké dans outputFile="" ". Nous voulons connaître la meilleure façon de transformer cela Données XML champ de type à transmettre en tant que champ enrichi dans le workflow de l'opération. Afin que nous puissions ajouter à notre tableau d’historique de promotion pour stocker tous les noms de fichiers de sortie.
Puisque nous savons que les données sont un champ XML et non un champ DB sur lequel effectuer des requêtes. Mais existe-t-il une méthode pour atteindre ce scénario ?
Nous pouvons essayer de résoudre ce problème de deux manières :
mdata
est également extrait. Ensuite, vous pouvez utiliser une activité Chargement de fichier ou du code JavaScript (Code JS) pour analyser ce fichier et obtenir vos données.queryDef
pour récupérer mdata
de votre diffusion, puis analysez le XML. Stockage des données dans une variable d'instance pour ensuite se charger en transitionLe client avait une requête de relance qui était la suivante :
Nous essayons d'utiliser la méthode de queryDef
against mdata
, que nous avons pu écrire. Pour la méthode d’analyse, quelle est l’approche recommandée ?
Réponse:
Votre requête sera la suivante :
queryDef operation="select" schema="nms:delivery"
sélectionnez
node expr="@id"/
node expr="output/@fileName" label="Fichier de sortie"/
/sélectionnez
sysFilter
condition expr="@isModel = 0"/
/sysFilter
orderBy
node expr="@lastModified" sortDesc="true"/
/orderBy
/queryDef
Et il renverra :
delivery-collection
delivery id="11878415"
output filename="abc.txt"
/output
/delivery
/delivery-collection