PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Syntaxe 2 : Exécuter une requête XPATH sur un document XML : Lecture du résultat de la requête
  • Limitations
  • Fonctions XML et threads
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Exécute une requête XPATH :
  • Versions 21 et supérieures
    dans une variable de type xmlDocument.
    Nouveauté 21
    dans une variable de type xmlDocument.
    dans une variable de type xmlDocument.
  • dans un document XML.
PHP Seules les requêtes de calcul effectuées dans un document XML sont supportées en PHP.
Versions 15 et supérieures
PHP Cette fonction est désormais disponible pour les sites PHP.
Nouveauté 15
PHP Cette fonction est désormais disponible pour les sites PHP.
PHP Cette fonction est désormais disponible pour les sites PHP.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Versions 21 et supérieures
clDoc est un xmlDocument = XMLOuvre(n, depuisChaîne)
c est un xpathRésultat = XMLExécuteXPath(clDoc, "/root/text()")
SI c..EstValeur ALORS
Trace(c..Valeur)
SINON
POUR TOUT noeud DE c..Noeud
Trace("Noeud : " + noeud..Texte)
FIN
POUR TOUT attrib DE c..Attribut
Trace("Noeud : " + attrib..Nom)
FIN
FIN
Nouveauté 21
clDoc est un xmlDocument = XMLOuvre(n, depuisChaîne)
c est un xpathRésultat = XMLExécuteXPath(clDoc, "/root/text()")
SI c..EstValeur ALORS
Trace(c..Valeur)
SINON
POUR TOUT noeud DE c..Noeud
Trace("Noeud : " + noeud..Texte)
FIN
POUR TOUT attrib DE c..Attribut
Trace("Noeud : " + attrib..Nom)
FIN
FIN
clDoc est un xmlDocument = XMLOuvre(n, depuisChaîne)
c est un xpathRésultat = XMLExécuteXPath(clDoc, "/root/text()")
SI c..EstValeur ALORS
Trace(c..Valeur)
SINON
POUR TOUT noeud DE c..Noeud
Trace("Noeud : " + noeud..Texte)
FIN
POUR TOUT attrib DE c..Attribut
Trace("Noeud : " + attrib..Nom)
FIN
FIN
// Chargement du fichier XML
MonDoc est une chaîne
MonDoc = fChargeTexte("exemple.xml")
// Texte de la requête : Recherche de la balise Index
RequêteXPATH est une chaîne = "Aide/Fonction/Index"
// Création du document
XMLDocument("Exemple", MonDoc)
SI ErreurDétectée = Vrai ALORS
Erreur("Le fichier n'est pas au format XML.")
RETOUR
FIN
b est un booléen
b = XMLExécuteXPath("Exemple", RequêteXPATH)
// Est-ce une requête de calcul ?
SI b = Vrai ET XMLEnDehors("Exemple") = Vrai ALORS
 // Voilà le résultat du calcul
 Trace("XMLRésultat=" + XMLRésultat("Exemple"))
FIN
// Est-ce une requête XPath de sélection ?
SI XMLTrouve("Exemple") = Vrai ALORS
// Parcours de la sélection résultat
TANTQUE XMLTrouve("Exemple") = Vrai
Trace(XMLPosition("Exemple"))
XMLSuivant("Exemple")
FIN
// Parcours terminé, on termine la requête
XMLAnnuleRecherche("Exemple")
FIN
Syntaxe
Versions 21 et supérieures
PHP Syntaxe non disponible en PHP

Exécuter une requête XPATH sur une variable de type xmlDocument Masquer les détails

<Résultat> = XMLExécuteXPath(<Document XML> , <Texte de la requête XPath>)
<Résultat> : Variable de type xpathRésultat
Variable de type xpathRésultat contenant le résultat de la requête XPATH.
Lecture du résultat :
  • La propriété ..EstValeur permet de savoir si le résultat est une valeur.
  • Pour une requête de sélection (le résultat n'est pas une valeur), il est nécessaire de parcourir la variable xpathRésultat.
  • Pour une requête de calcul (le résultat est une valeur), la propriété ..Valeur permet de lire le résultat.
<Document XML> : Variable de type xmlDocument
Nom de la variable de type xmlDocument contenant le code XML à analyser.
<Texte de la requête XPath> : Chaîne de caractères (entre guillemets)
Texte de la requête XPath à exécuter.
Nouveauté 21
PHP Syntaxe non disponible en PHP

Exécuter une requête XPATH sur une variable de type xmlDocument Masquer les détails

<Résultat> = XMLExécuteXPath(<Document XML> , <Texte de la requête XPath>)
<Résultat> : Variable de type xpathRésultat
Variable de type xpathRésultat contenant le résultat de la requête XPATH.
Lecture du résultat :
  • La propriété ..EstValeur permet de savoir si le résultat est une valeur.
  • Pour une requête de sélection (le résultat n'est pas une valeur), il est nécessaire de parcourir la variable xpathRésultat.
  • Pour une requête de calcul (le résultat est une valeur), la propriété ..Valeur permet de lire le résultat.
<Document XML> : Variable de type xmlDocument
Nom de la variable de type xmlDocument contenant le code XML à analyser.
<Texte de la requête XPath> : Chaîne de caractères (entre guillemets)
Texte de la requête XPath à exécuter.
PHP Syntaxe non disponible en PHP

Exécuter une requête XPATH sur une variable de type xmlDocument Masquer les détails

<Résultat> = XMLExécuteXPath(<Document XML> , <Texte de la requête XPath>)
<Résultat> : Variable de type xpathRésultat
Variable de type xpathRésultat contenant le résultat de la requête XPATH.
Lecture du résultat :
  • La propriété ..EstValeur permet de savoir si le résultat est une valeur.
  • Pour une requête de sélection (le résultat n'est pas une valeur), il est nécessaire de parcourir la variable xpathRésultat.
  • Pour une requête de calcul (le résultat est une valeur), la propriété ..Valeur permet de lire le résultat.
<Document XML> : Variable de type xmlDocument
Nom de la variable de type xmlDocument contenant le code XML à analyser.
<Texte de la requête XPath> : Chaîne de caractères (entre guillemets)
Texte de la requête XPath à exécuter.

Exécuter une requête XPATH sur un document XML (syntaxe conservée par compatibilité) Masquer les détails

<Résultat> = XMLExécuteXPath(<Nom du Document XML> , <Texte de la requête XPath>)
<Résultat> : Booléen
  • Vrai si la requête a été exécutée,
  • Faux dans le cas contraire ou si aucun élément ne correspond à la requête.
Lecture du résultat :
  • Pour une requête de sélection, si la requête XPATH a été exécutée, les fonctions de parcours XML permettent de parcourir le résultat de la requête XPATH.
  • Pour une requête de calcul, la fonction XMLRésultat permet de lire le résultat.
<Nom du Document XML> : Chaîne de caractères (entre guillemets)
Nom du document XML manipulé. Ce document contient le code XML à analyser et a été créé avec la fonction XMLDocument.
<Texte de la requête XPath> : Chaîne de caractères (entre guillemets)
Texte de la requête XPath à exécuter.
Remarques
WINDEViPhone/iPadWindows MobileUniversal Windows 10 AppCode Utilisateur (MCU)

Syntaxe 2 : Exécuter une requête XPATH sur un document XML : Lecture du résultat de la requête

Si la fonction XMLExécuteXPath renvoie Vrai, la requête a été correctement exécutée. Le résultat de la requête peut être lu de la manière suivante :
  • Requête de calcul : la fonction XMLTrouve renvoie Faux.
    Le résultat peut être lu avec la fonction XMLRésultat.
    Quelques exemples de requêtes de calcul :
    Comptage du nombre de balises dont le nom est "ITEM", c'est-à-dire le nombre d'articles différents dans la commande.count(//ITEM)
    Nombre de balises contenant un sous élément <PRICE>count(//*[PRICE])
    Total de la facturesum(//ITEM[PRICE])- sum(//COUPON[PRICE])
  • Requête de sélection d'enregistrements : la fonction XMLTrouve renvoie Vrai.
    Lors d'une requête de sélection, la fonction XMLExécuteXPath change la position courante dans le document XML en cours pour se positionner sur le premier élément résultat de la sélection. Ensuite, il suffit d'utiliser la fonction XMLSuivant pour parcourir la sélection.
    Quelques exemples de requêtes de sélection :
    Parcours de toutes les balises dont le nom est "ITEM".//ITEM
    Parcours de tous les éléments qui ont un attribut "unit".//*[@unit]

    Pour annuler la requête et pouvoir parcourir à nouveau tout le document, utilisez la fonction XMLAnnuleRecherche.

Limitations

  • Il n'est pas possible d'imbriquer plusieurs requêtes XPath de parcours.
  • Syntaxe 1 : Exécuter une requête XPATH sur une variable de type xmlDocument :
    • La liste des noeuds renvoyée n'est pas triée.
    • La norme utilisée pour la requête XPath est XPath 1.0.
  • Syntaxe 2 : Exécuter une requête XPATH sur un document XML :
    Les fonctions XMLSauvePosition et XMLRetourPosition ne permettent pas de sauver / restaurer une position lors du parcours du résultat d'une requête XPath de sélection.

Fonctions XML et threads

Si votre application utilise des threads, le document XML est partagé entre tous ces threads. Pour plus de détails sur la gestion des threads, consultez Gestion des threads.
Si la position courante dans un document XML est modifiée dans un thread, la position courante dans ce document XML est modifiée pour tous les threads.
Composante : wd240xml.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire