Charger/Enregistrer String

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Actions > Sources de pages >

Charger/Enregistrer String

Les deux actions, Charger depuis String et Enregistrer sous String, permettent respectivement :

 

de charger des données JSON ou XML depuis un string dans une source de page JSON/XML, et
de sérialiser une source de page JSON/XML en un string, et d'enregistrer le string sérialisé sous un emplacement spécifié par une expression XPath.

 

Ces fonctions sont particulièrement utiles dans des solutions de page web intégrées, où les données XML sérialisées peuvent être reçues dans un message provenant d'une page web et stockées dans le $MT_EMBEDDEDMESSAGE la source de page JSON. L'action Charger depuis String peut prendre le string XML et générer une source de page XML. Inversement, une source de page XML peut être sérialisée à un string avec l'action Enregistrer à un string et stockée dans un nœud de source de page.

 

Charger depuis String

L'action Charger depuis String permet de parser le string qui est ciblé par l'expression XPath du paramètre Nœud de source (voir capture d'écran ci-dessous) et génère la structure et les données de la source de page sélectionnée (voir capture d'écran). Choisir la source de page depuis la liste de choix de la Source de page ou une expression XPath qui situe le nœud racine de la source de page (par exemple : $XML1).

MTActionLoadFromString

Le type de la source de page sélectionné (JSON ou XML) doit correspondre à la sérialisation du string. Donc, si le string de nœud de source est un string JSON, un document JSON sera généré. Si le string dans le nœud de source est un string XML sérialisé, celui-ci sera chargé dans la source de page, qui doit être une source de page XML, l'élément racine dans le string sérialisé sera créé en tant que l'élément racine de la source de page XML.

 

À propos du string de source : dans la capture d'écran ci-dessus, un string XML est situé dans le nœud de la source $SERIALIZEDSTRINGS/Strings/XML_String. Il s'agit du string qui sera chargé dans la source de page sélectionnée. Pour que cela fonctionne correctement, la source de page doit être une source de page XML. (L'expression XPath du paramètre Nœud de source ne doit pas nécessairement prendre un string depuis un nœud ; vous pouvez aussi saisir le string directement dans l'expression XPath.)
Encodage sur string de source : les encodages suivants sont pris en charge sur les clients, le string de source doit donc se trouver dans un de ces encodages : UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE, US-ASCII, ISO 8859-1.
À propos de la source de page JSON/XML : la source de page doit avoir été créée avant qu'elle soit sélectionnée dans l'action. Le document JSON/XML qui est chargé depuis le string est créé en tant que l'ensemble de la source de page dans le nœud du document. Si, lors de la marche, la structure du document chargé ne correspond pas à la structure de la source de page tel que défini dans le design, la solution ne sera pas exécutée correctement. Cela est dû au fait que le design fonctionne avec les noms de nœud d'une structure attendue d'une source de page, mais les nœuds de la source de page qui sont réellement créés ont des noms différents.

 

Enregistrer sous String

L'action Enregistrer sous String (capture d'écran ci-dessous) sérialise la source de page nommée dans l'option Source de page, et enregistre le string sérialisé sous l'emplacement qui a été spécifié par l'expression XPath du paramètre Nœud de cible. Choisir la source de page depuis la liste de choix de la Source de page ou une expression XPath qui situe le nœud racine de la source de page (par exemple : $XML1).

MTActionSaveToString

Noter les points suivants :

 

La source de page et sa structure doivent exister dans le design au moment du design afin de pouvoir être sélectionnée en tant qu'une option de liste de choix.
Le contenu de l'ensemble de la source de page, quel que soit le type, sera sérialisé, depuis le premier caractère jusqu'au dernier, en un string.
Le string qui résulte de la sérialisation sera enregistré dans le nœud spécifié dans l'expression XPath.

 

Fichier d'exemple

Un fichier d'exemple nommé LoadSaveString.mtd démontre l'utilisation de ces deux actions. Ce fichier se trouve dans le dossier (Mes) Documents : Altova\MobileTogetherDesigner5\MobileTogetherDesignerExamples\Tutorials\Actions. Cet exemple contient deux sources de page ($JSON1 et $XML1), chacune contenant, respectivement, des données JSON et XML fixes (voir capture d'écran ci-dessous). En utilisant l'action Enregistrer sous String, chaque source de page peut être sérialisée en tant qu'un string et enregistrée sous un nœud. Ensuite, nous inversons cette action en utilisant l'action Charger depuis String pour charger les strings qui viennent d'avoir été sérialisés dans les nouvelles sources de page ($JSONFROMSTRING et $XMLFROMSTRING).

Click to expand/collapse

Le fichier de design contient une source de page JSON ($JSON1) et une source de page XML ($XML1), les structures et les données qui sont définies dans le fichier lui-même (voir capture d'écran ci-dessus de la simulation). Les deux structures de données sont rudimentaires.
Le design contient un bouton pour enregistrer chaque source de page en tant qu'un string sérialisé (Enregistrer string JSON/XML), chacun dans un nœud différent d'une autre source de page nommée $SERIALIZEDSTRINGS. Ces deux boutons utilisent l'action Enregistrer sous String.
Les sérialisations générées sont utilisées pour créer de nouvelles sources de page, respectivement $JSONFROMSTRING et $XMLFROMSTRING. Cela est fait en déclenchant les actions Charger depuis String du troisième et du quatrième bouton (Charger string JSON/XML).

 

Cet exemple, utilise les deux actions (Enregistrer sous String et Charger depuis String) pour effectuer un tour depuis une source de page à une autre source de page par le biais d'un string sérialisé. Les sources de page d'origine et de destination auront la même structure et les mêmes données.

 


© 2019 Altova GmbH