Bonjour à toutes et à tous,
J'utilise l'API JDom pour pour générer un fichier XML.
Mon soucis est le suivant: Lorsque l'input est au format windows et comporte les sauts de ligne, le résultat de mon fichier comporte des retour chariot.
En INPUT: J'ai un fichier texte suivant:
Bonjour. j'énumere:
1.:Un
2.eux
Fin du test
En OUPUT:Je veux obtenir ça:
<XML>
Bonjour. j'énumere:
1.:Un
2.eux
Fin du test
</XML>
Etape de mon programme:
1) Je lis ce fichier que je stocke en String via un mon programme Java.
2) J'utilise l'API JDom
3) si l'input était ecrit au format unix, le résultat est correct, mais au format windows, j'obtiens ça:
<XML>
Bonjour. j'énumere:
1.:Un
2.eux
Fin du test
</XML>

 correspondrait au caractere unicode de retour chariot.
Quelqu'un aurait-il des idées comment faire pour ne pas obtenir les retours chariot?.
Pour que le traitement avec les input sous windows produit les bons résultats.
Voici les elements relatifs à mon code:
mon programme s'éxecute sous unix. L'input est variable, tantôt des fichiers de type UNIX tantôt de type de format windows.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 //construction de mon format Format monFormat=Format.getPrettyFormat(); monFormat=monFormat.setOmitDeclaration(true); monFormat=monFormat.setExpandEmptyElements(true); monFormat=monFormat.setTextMode(Format.TextMode.PRESERVE); monFormat=monFormat.setIndent(" "); monFormat.setIgnoreTrAXEscapingPIs(true);//le bon est true monFormat=monFormat.setEncoding("ISO-8859-1"); String separator=System.getProperty("line.separator"); monFormat=monFormat.setLineSeparator(separator); XMLOutputter xmlSortie = new XMLOutputter(monFormat);//Utilisation de l'affichage classique //
//génération du flux
Element element=new Element();
element.setText(ici mon string vu en 1));uction du format:
xmlSortie.output(element, fileOstr);//où fileOstr est un FileOutputStream
Partager