Bonjour,
J'utilise la fonction removeChild() pour supprimer un noeud. Cela fonctionne mais je me retrouve avec une ligne vide à la place du noeud dans mon xml.
Comment supprimer cette ligne ?
Bonjour,
J'utilise la fonction removeChild() pour supprimer un noeud. Cela fonctionne mais je me retrouve avec une ligne vide à la place du noeud dans mon xml.
Comment supprimer cette ligne ?
Qu'est ce que ça peut bien faire qu'il y ait une ligne vide ?
Par ailleurs DOMDocument porte une propriété formatOutput qui permet de formatter (réindeter) l'arbre.
Enfin, DOMNode::removeChild n'est pas une fonction mais une méthode de la classe DOMNode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $doc = new DOMDocument; $doc->formatOutput = true; //....![]()
Désolé pour les imprécisions dans la sémantique ... je ne développe qu’occasionnellement et débute dans la gestion du xml en php (merci d'ailleurs au site pour le tuto ...)
- Le fait qu'il y ait une ligne vide dérange profondément mon oeil humain ... j'utilise ce xml comme base de données et retrouver 20 lignes vides, 1 ligne pleine , etc ...c'est dégeu. Bien sur avec un xsl on voit pas le soucis.
- j'ai essayé la propriété formatOutput après removeChild() et avant d'enregistrer mais cela n'efface pas ces lignes vides. Il y a sans doute un truc qui m'échappe...
Il faut aussi jouer sur preserveWhiteSpace.
(preserveWhiteSpace à FALSE doit être réalisé avant le load* du document)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $doc = new DomDocument; $doc->formatOutput = TRUE; $doc->preserveWhiteSpace = FALSE; $doc->load(fichier); # ou $doc->loadXML(string);
Partager