CatchXML()

Syntaxe

Resultat = CatchXML(#XML, *Adresse, Longueur [, Options [, Encodage]])
Description
Crée un objet #XML à partir de la zone mémoire spécifiée. La création de l'objet XML peut se faire en une seule fois, ou de manière progressive (par exemple lors de la réception d'un flux XML par le réseau). Si #PB_Any est utilisé pour le paramètre '#XML', le numéro du nouvel objet sera renvoyé dans 'Resultat'.

Arguments

'*Adresse' et 'Longueur' doivent indiquer une zone de mémoire valide. Si le paramètre 'Options' est omis, la zone mémoire doit contenir les données XML au complet. Pour interpréter un flux XML en plusieurs blocs, les options suivantes sont disponibles:
  #PB_XML_StreamStart: Démarre l'interprétation du premier bloc
  #PB_XML_StreamNext : Continue l'interprétation avec un nouveau bloc
  #PB_XML_StreamEnd  : Termine l'interprétation après ce bloc
Lors de l'appel de cette fonction avec l'option #PB_XML_StreamStart ou #PB_XML_StreamEnd, le paramètre 'Longueur' peut être égal à 0, pour démarrer ou finir l'interprétation sans spécifier réellement de données.

A noter que lors de l'interprétation par blocs, toute donnée fournie est immédiatement accessible dans l'objet XML avant même que l'appel avec #PB_XML_StreamEnd ait eu lieu.

Le paramètre optionnel "Encodage" peut être utilisé pour obliger le parser à utiliser un encodage spécifique. (la déclaration XML est modifiée selon l'encodage choisi). Les valeurs possibles sont :
  #PB_Ascii
  #PB_Unicode 
  #PB_UTF8
Ce paramètre devra être utilisé lorsque le document n'a pas de déclaration XML, ou que l'information d'encodage est fournie en dehors du document XML, par exemple à travers un en-tête de type "mime" dans un protocole de communication.

Valeur de retour

Cette commande renvoie 0 seulement lors d'options invalides ou si une zone de mémoire est corrompue. Pour vérifier les erreurs d'interprétation, il convient d'utiliser XMLStatus(). Dans le cas d'une erreur d'interprétation, toutes les données correctement lues avant l'erreur sont quand même disponibles dans l'objet XML.

OS Supportés

Tous

XML Index - ChildXMLNode() ->