0 votes

dom4j cdata (gardez les espaces)

J'essaie de récupérer le texte des données d'un nœud en utilisant dom4j java. Mon problème est que tous les sauts de ligne sont supprimés. Essentiellement, je dois lire le contenu du CDATA comme s'il s'agissait d'une balise <pre> en HTML.

Vous avez des idées ? Je dispose malheureusement de très peu de temps pour réaliser ce projet, aussi toute aide serait-elle la bienvenue.

Merci !

3voto

rsp Points 14367

Si vous avez besoin que le texte XML soit défini de manière statique comme dans un bloc CDATA, il doit être signalé comme tel dans le XML :

<tag><![CDATA[This is
three
lines]]></tag>

Si votre contenu ne se trouve pas dans une section CDATA, par exemple :

<tag>This is
three
lines</tag>

le traitement XML normal se produit, ce qui signifie que les espaces blancs sont normalisés.

0voto

vinnybad Points 629

Oui, le contenu était bon. J'ai trouvé l'erreur, c'était un problème de données.

dom4j ne supprime PAS automatiquement les espaces dans les sections cdata. J'ai lu le contenu d'un fichier à partir d'un lecteur en mémoire tampon et j'ai utilisé readLine sans ré-appliquer les sauts de ligne, ce qui fait que le document xml entier est d'une ligne, et que ma section cdata est également d'une ligne.

Désolé de ne pas avoir répondu plus tôt, j'avais compris cela il y a quelques jours...

Merci !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X