Mémoire tampon XML
Une mémoire tampon XML fournit un stockage en mémoire efficace pour les données XML arbitraires.
Pour lire des données à partir d’une mémoire tampon XML, utilisez un lecteur XML et appelez WsSetInputToBuffer avec la mémoire tampon XML. Le lecteur sera positionné au début du document.
Pour insérer des données dans une mémoire tampon, utilisez un enregistreur XML et appelez WsSetOutputToBuffer avec la mémoire tampon XML. L’enregistreur sera positionné à la fin du document.
Une fois qu’un lecteur a été défini sur une mémoire tampon XML, en plus de toutes les API Lecteur XML, WsMoveReader peut être utilisé pour parcourir le lecteur dans le document. WsGetReaderPosition et WsSetReaderPosition peuvent également être utilisés pour enregistrer une position dans le document et y revenir ultérieurement.
Une fois qu’un enregistreur a été défini sur une mémoire tampon XML, en plus de toutes les API writer XML, WsMoveWriter peut être utilisé pour parcourir le writer via le document. WsGetWriterPosition et WsSetWriterPosition peuvent également être utilisés pour enregistrer une position dans le document et y revenir ultérieurement. L’enregistreur insère toujours des données avant le nœud dans lequel il est positionné.
Les nœuds peuvent être supprimés de la mémoire tampon XML en obtenant la position du nœud à l’aide de WsGetReaderPosition ou WsGetWriterPosition, puis en appelant WsRemoveNode avec cette position. Pour les éléments, cela supprime l’élément, tous ses enfants, y compris son élément final correspondant.
Une position est représentée par la valeur WS_XML_NODE_POSITION. Les positions sont spécifiques à une mémoire tampon XML particulière et sont uniquement valides tant que la mémoire tampon XML est valide.
Les énumérations suivantes sont utilisées avec des mémoires tampons XML :
Les fonctions suivantes sont utilisées avec des mémoires tampons XML :
- WsCreateXmlBuffer
- WsRemoveNode
Le handle suivant est utilisé avec des mémoires tampons XML :
Les structures suivantes sont utilisées avec des mémoires tampons XML :