-
espaces non sauvés
Bonjour,
Voila mon soucis...de mémoire j'utilise JDom version béta10 (ou qq chose comme ca ;)) et je l'utilise pour rechercher des données dans des documents XML. J'arrive bien a récupérer toutes mes données dans mes fichiers et a me servir de la bibliothèque mais il y a une subtilité qui me pose problème à savoir les espaces. Prennons un exemple :
Je sauvegarde dans mon fichier XML un élément ayant pour valeur Text :
"coucou coucou" soit 6 espaces (normalement il y a 6 espaces entre coucou et coucou ;) , mais phpbb les a tronqués...lui aussi ;) ) entre les 2 mots...
quand je récupère la valeur dans mon code un peu plus tard et la Ô miracle la valeur du text est : "coucou coucou" soit 1 espace...bref ca m'embete...
pour resumer, la valeur de mon string avant d'etre stockée et sauvée dans le fichier XML via JDom contient autant d'espace que je veux...et une fois que je récupère ce string dans le fichier XML, les espaces ont été tronqués en un seul... :(
est-ce que qq1 a deja eu ce problème...? est-ce que ca ne peut pas venir de la beta10 ? je sais que la version 1.0 est sortie mais je ne pourrais tester cette hypthèse que ce soir, donc est-ce que qq1 à dejà pu tester...juste pour me "rassurer" ou m'aiguiller dans une implémentation différente via JDom.
Merci d'avance
-
As tu pensé a protéger tes espaces par un \ ?
As tu essayé de remplacer les espaces par une chaine de caractères?
genre un espace > #@!
tu sauvegardes comme ca et après
#@! > en un espace.
-
que veux tu dire pas protéger tes "espaces par /"
et pour le coup de remplacer les espaces par une série de caractères, j'y avais pensé...mais je me dis kil y a forcément une solution plus propre...en c# je récupère le texte sans faire de tel remplacement donc je me dis que ca doit etre possible avec un format ou un tag a spécifié...
-
tu remplaces chaque "espace" par \"espace"
Ainsi le langage comprend qu'il doit prendre le caractère suivant sans l'interpreter. C'est juste une piste.
-
mouep mais c pas forcément la meilleur, ca oblige un traitement...ce que je cherche c'est solution qui fait comprendre au parser qu'il n'a pas a modifier le contenu de ce que je lui donne...
mais merci de ta réponse ;)
-
pas d'autres propositions ? :(
-
bon la solution vient du fait que j'utilisait le Format.getCompactFormat()...qui restreint pas mal de chose dont les espaces, les tabulations et les retour chariots.
Il faut utiliser le Format.getRawFormat()
Voila
merci qd meme ;)