TRAITER BALISES 4D : expurger les caractères superflus

Bonjour,

J’utilise régulièrement la très puissante commande TRAITER BALISES 4D que j’appelle pour traiter un template XML.
Dans ce template, pour des raisons de lisibilité, j’insère pour l’indentation divers tabulations, sauts de lignes et autres espaces.
Lorsque la commande génère le fichier XML résultant, celui-contient un nombre de retour chariot / espace incalculables.

Exemple, si je fais :

Code :

<!-- #4DIF (Condition)--> 
	<Balise1>
	        .................
	</Balise1>
<!--#4DELSE-->
	<Balise2>
	        .................
	</Balise2>
<!--#4DEndif-->

Je vais avoir autant de lignes vide que j’ai de code 4D dans le modèle.
Comment expurger facilement le fichier résultant de tous ces caractères parasites ?
Je sais le faire en générant directement du XML et en fixant les options pour supprimer l’indentation, mais là je ne vois pas.
Quelqu’un aurait-il une idée ?

En vous remerciant par avance.

Peut-être comme ça?

<code 4D>
$root:=DOM Parse XML source ( $path )
XML SET OPTIONS ( $root; XML indentation; XML no indentation )
DOM EXPORT TO FILE ( $root ; $path )
DOM CLOSE XML ( $root )
</code 4D>

Koen

Bonjour,

Pour trouver des lignes vides, on peut boucler et chercher une regex comme celle-ci :
(?m)^[\t ]*([\r\n]+|$)
Il suffit ensuite de supprimer chaque occurrence.

Merci pour vos réponses !

J’ai essayé en supprimant l’indentation XML mais ce n’est pas concluant : les CRLF sont remplacés par LF mais les tabulations sont conservées.

Je vais donc partir sur la solution de Stanislas et affiner la mise en page des données en recherchant et remplaçant les occurrences parasites moi-même.

Merci encore.