Bonjour,
J'ai un petit problème en ce moment avec le parsing d'un fichier xml.
En effet j'essai de valider un fichier xml créé par un programme à l'aide de son fichier xsd.
Lorsque mon programme de validation tourne sous window je n'ai aucun problème, par contre lorsqu'il tourne sous unix j'ai l'erreur suivante :
Je sais que généralement ce genre d'erreur est provoqué par l'écriture du BOM en début de fichier, et java n'aime pas trop ca... alors j'ai voulu comparer les fichier XML créé sous window et sous unix, et voici la différence :Content is not allowed in prolog.
Sous window, chaque retour à la ligne est codé de la facon suivante (en hexa) :
- ce qui correspond donc à un caractère.OA
Par contre sous Unix, chaque retour à la ligne est codé comme suit :
- ce qui correspond à deux caractère. Je suspect le premier de ces deux caractères (OD) d'être le (ou un espèce) de BOM qui ferait planté ma validation, est ce que quelqun qui s'y connait mieux qui moi peut confirmer cette hypothèse (ou non) ?ODOA
Et si c'est réellement le cas, comment se fait-il que mon fichier ne soit pas codé de la même manière sous window que sous unix, et comment faire pour règler ce problème ?
Voici le bout de code qui écrit les données du fichier xml :
Merci d'avance à tous ceux qui voudront bien m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public void write(StringBuffer theBuffer) { try { // --- Write string in UTF-8 encoding getWriter().write(theBuffer.toString().getBytes()); // --- Update file size setSize(getSize()+theBuffer.length()); } catch (IOException ioe) { logger.error("[write] "+ioe.getMessage()); } }
Partager