Transformer un arbre DOM en XML

Problème

Vous voulez afficher le contenu d’un arbre DOM sur la sortie standard ou l’écrire dans un fichier.

Solution

Utilisez xmlDocDump(), xmlDocFormatDump(), xmlSaveFile() ou xmlSaveFormatFile().

Discussion

La fonction xmlDocDump() prend en arguments un pointeur sur un descripteur de flux de type FILE* et l’arbre DOM de type xmlDocPtr. Le flux doit avoir été ouvert au préalable, comme c’est le cas pour stdout ou avec fopen() comme expliqué au chapitre "Contenu des fichiers". Lorsqu’il s’agit de sauvegarder dans un fichier, vous pouvez économiser l’appel aux fonctions d’ouverture et de fermeture des fichiers en utilisant xmlSaveFile() qui prend en argument le nom du fichier à écrire, et l’arbre DOM.

Par ailleurs, la sortie peut être formatée, ce qui modifie en particulier certains nœuds de texte (ceux qui contiennent des retours à la ligne et des caractères pour l’indentation). Suivant le besoin, vous pouvez préférer cela pour une meilleure lisibilité. Dans ce cas, au lieu d’utiliser les deux fonctions précédentes, appelez respectivement xmlDocFormatDump() et xmlSaveFormatFile().

En guise d’exemple, essayez celui de la recette précédente, puis intercalez ceci pour afficher l’arbre DOM : xmlDocFormatDump(stdout, xmldoc, 1);

Il est intéressant de savoir que nous pouvons aussi placer la représentation...

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Lire un document XML
Suivant
Ajouter un nœud à un arbre DOM