|
|
|
|
|
- Recherche et parcours de document XML
- Fonctions XML et threads
- Suppression lors d'une recherche
XMLRecherche (Fonction) En anglais : XMLFind Lance une recherche dans un document XML. Cette recherche peut être annulée par la fonction XMLAnnuleRecherche. Remarque : Pour effectuer une requête XPath, utilisez la fonction XMLExécuteXPath.
XMLRecherche("DocXML", "pri", XMLBalise + XMLSousElément, XMLCommencePar)
TANTQUE XMLTrouve("DocXML") = Vrai
Info("Balise trouvée " + XMLNomElément("DocXML"))
XMLSuivant("DocXML")
FIN
XMLAnnuleRecherche("DocXML")
XMLRacine("DocXML")
XMLRecherche("DocXML", "prix", XMLBalise + XMLContinue, XMLExact)
TANTQUE XMLTrouve("DocXML") = Vrai
Info("Balise trouvée " + XMLNomElément("DocXML"))
XMLSuivant("DocXML")
FIN
XMLAnnuleRecherche("DocXML")
Syntaxe
<Résultat> = XMLRecherche(<Document XML> , <Valeur recherchée> [, <Type de parcours> [, <Options de recherche>]])
<Résultat> : Booléen - Vrai si l'élément recherché est trouvé,
- Faux dans le cas contraire.
<Document XML> : Chaîne de caractères Nom du document XML manipulé. Ce document contient le code XML à analyser et a été créé avec la fonction XMLDocument. <Valeur recherchée> : Chaîne de caractères (avec guillemet) ou mot-clé NULL Valeur recherchée dans le document XML.Si ce paramètre est égal à NULL, toutes les balises et attributs du document XML seront lues à partir de l'élément courant, en fonction des paramètres de parcours. <Type de parcours> : Constante (ou combinaison de constantes) optionnelle Type de parcours à réaliser : | | XMLAttribut | Recherche sur les noms d'attributs. | XMLBalise | Recherche sur les noms des balises. | XMLContinue | - Combinée avec XMLBalise, XMLAttribut ou XMLValeur, continue la recherche dans la suite du document en remontant dans les niveaux de l'arborescence (si nécessaire).
- Combinée avec XMLSousElément, continue la recherche dans la suite du document, en remontant et en redescendant dans les niveaux de l'arborescence.
| XMLElément (Valeur par défaut) | Recherche sur les noms de balises et d'attributs (équivalent à la combinaison XMLBalise + XMLAttribut). | XMLNiveauCourant | Recherche uniquement dans le niveau courant de l'arborescence. | XMLSousElément | Recherche également dans toutes les balises filles. Doit être combiné avec XMLBalise, XMLAttribut ou XMLValeur. | XMLValeur | Recherche sur les valeurs des balises et des attributs. |
<Options de recherche> : Constante (ou combinaison de constantes) optionnelle Options de recherche à prendre en compte : | | XMLAvecNamespace | Recherche sur les éléments contenant un namespace.
| XMLCommencePar | Recherche sur les éléments commençant par la valeur recherchée. | XMLContient | Recherche sur les éléments contenant la valeur recherchée. | XMLExact (valeur par défaut) | Recherche à l'identique et sensible à la casse. | XMLIgnoreLaCasse | Recherche sans tenir compte de la casse de la balise. Peut être combiné avec XMLContient, XMLCommencePar ou XMLExact. |
Remarques Recherche et parcours de document XML La fonction XMLRecherche débute la recherche à partir de la position courante dans le document XML. Pour effectuer une recherche dans tout le document, il est conseillé d'utiliser la fonction XMLRacine avant d'utiliser la fonction XMLRecherche. La fonction XMLRecherche affecte le parcours en cours. Les fonctions XMLSuivant et XMLPrécédent se positionneront sur les éléments suivants et précédents correspondants à la recherche. Si la recherche échoue (aucun élément trouvé), la position en cours avant la recherche est conservée. 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. Suppression lors d'une recherche La fonction XMLSupprime utilisée lors d'une recherche annule la recherche. Exemple à ne pas faire (ce code ne fonctionne pas) :
XMLRacine(:m_sNomDoc)
XMLRecherche(:m_sNomDoc, CParagraphe::CST_TAG , XMLBalise + XMLSousElément + XMLContinue, XMLExact)
TANTQUE XMLTrouve(:m_sNomDoc) = Vrai
XMLSupprime(:m_sNomDoc)
XMLSuivant(:m_sNomDoc)
FIN
XMLAnnuleRecherche(:m_sNomDoc)
Le code à utiliser est le suivant :
XMLRacine(:m_sNomDoc)
BOUCLE
XMLRecherche(:m_sNomDoc, CParagraphe::CST_TAG , ...
XMLBalise + XMLSousElément + XMLContinue, XMLExact)
SI XMLTrouve(:m_sNomDoc) = Vrai ALORS
XMLSupprime (:m_sNomDoc)
SINON
SORTIR
FIN
FIN
Composante : wd300xml.dll
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|