segunda-feira, 29 de fevereiro de 2016

dinamicamente construir um caminho de dados para ler em um documento XML



http://blogs.pcsoft.fr/blogs.awp

[Billet publié dans le blog Le blog du ST]
Depuis la version 15 de WINDEV, WEBDEV et WINDEV Mobile le parcours de document XML a été considérablement simplifié grâce au type XMLDocument. Il évite l'utilisation des fonctions XMLLit bien moins pratiques faute de complétion dans l'éditeur de code.

L'utilisation du type XMLDocument avait été illustrée dans le billet suivant du blog :
Utilisez le type XMLDocument pour faciliter la lecture de données des documents XML 

Il peut arriver d'avoir à construire dynamiquement tout ou partie du chemin d'accès aux données XML lors de l'exécution, et non pas lors de l'écriture du code. C'est possible, comme pour l'accès à un champ, grâce aux opérateurs d'indirection, les accolades : opérateurs d'indirection

L'aide n'avait pas encore l'information, et sera rapidement complétée, voici en attendant une illustration. Le code suivant peut être copié/collé dans un bouton il est autonome et permet en pas à pas de bien cerner le mécanisme : 

sDocXML est une chaîne = [
 <?xml version="1.0" encoding="UTF-8"?>
 <Document>
 <InfoVersion>
 <Version>21</Version>
 <Millesime>2016</Millesime>
 </InfoVersion>
 </Document>
]

xmlExemple est un xmlDocument = XMLOuvre (sDocXML, depuisChaîne )

// Lecture directe d'une information ...
Trace (xmlExemple.Document.InfoVersion.Version)

// Lecture avec une partie du chemin XML contenu dans une variable
// (idem si rubrique d'un fichier, paramètre d'une fenêtre, méthode...)
sParamètre est une chaîne = "InfoVersion"
Trace ({"xmlExemple.Document."+sParamètre+".Version"}) 


http://blogs.pcsoft.fr/post.awp?title=utilisez-type-xmldocument-pour-faciliter-lecture-donnees-des-documents-xml,2,258


Publié par
16:26 Mercredi
20 Jan. 2010


Les versions 15 permettent de simplifier considérablement les traitements basés sur les données d'un document XML.

Voici en détail la méthode à appliquer pour être immédiatement opérationnel avec ces nouvelles techniques.

1. Déclaration d'une variable du type "XMLDocument" :

Dans l'Explorateur de projet, utilisez le menu contextuel de "Descriptions XML" afin de spécifier l'emplacement du document XML.


Cette première action n'a pas pour but d'indiquer le document à utiliser lors de l'exécution. Il s'agit uniquement d'indiquer au WLangage la structure du document, notamment pour bénéficier de la complétion dans l'éditeur de code.

Pour cet exemple, on importe un document XML contenant les Clients de l'exemple CRM livré avec WINDEV. Le fichier XML peut être obtenu avec l'appel suivant dans un code de l'exemple CRM : 
HExporteXML(CLIENT,"C:\temp\Client.XML")


Une fois la structure du document XML connue de l'éditeur, il suffit dans vos traitements de déclarer une variable de type XMLDocument par un simple glisser/déplacer :
- sélectionnez la description XML 
- effectuez un glisser/déplacer de son nom, dans le code qui doit parcourir les donnés du document XML.

La déclaration suivante est obtenue :
MonDocXML est un xmlDocument,Description="Client"

Notez que le glisser/déplacer est facultatif, la déclaration peut être saisie traditionnellement dans l'éditeur.

 
2. Ouverture :
La variable permettant d'accéder aux données du document XML est maintenant déclarée, il suffit de localiser le document à utiliser lors de l'exécution à l'aide de la fonction "XMLOuvre" :
MonDocXML est un xmlDocument,Description="Client"
MonDocXML = XMLOuvre("c:\temp\Client.XML",depuisFichier)

Pour l'exemple l'emplacement du fichier XML est spécifié de façon statique. Il pourrait s'agir d'un fichier sélectionné par l'utilisateur (cf. fonction "fSélecteur"), récupéré depuis un email, un serveur FTP ...

Il ne doit pas s'agir obligatoirement d'un fichier XML, il est tout à fait possible de préciser une chaîne de caractères contenant le source XML, par exemple après l'avoir récupéré d'un Web service. La syntaxe dans ce cas est de la forme :
MonDocXML = XMLOuvre(VariableContenantLeXML,depuisChaîne)

3. Parcours :
Les données XML sont maintenant accessibles, la programmation du parcours devient extrêmement simple et rapide grâce à l'instruction POUR TOUT. En effet en lui précisant simplement le nœud du document à parcourir, elle se charge de tous les accès aux données. Chaque itération permet d'accéder aux données du document XML afin de les traiter.

Notez que la déclaration de la variable UnNoeudClient est facultative au niveau de l'exécution de l'application. Elle est cependant recommandée, afin bénéficier dans l'éditeur de code de la complétion sur les éléments de chaque nœud du document.

Pour plus de détails sur le type XMLDocument, consultez l'aide en ligne.

http://doc.pcsoft.fr/fr-FR/?3081008&name=xmldocument-fonction






Nenhum comentário:

Postar um comentário

Teste

Teste
teste