Java, XML DocumentBuilder - paramétrage de l'encodage lors de l'analyse d'
J'essaie de sauver un arbre (s'étend JTree
) qui détient une XML
document à un DOM Object
avoir changé de structure.
J'ai créé un nouvel objet de document, traversé l'arbre pour récupérer le contenu (y compris le codage d'origine de la XML
document), et ils ont maintenant un ByteArrayInputStream
qui a l'arbre de contenu (XML
document) avec le bon encodage.
Le problème est quand je parse le ByteArrayInputStream
l'encodage est changé à UTF-8
(dans le XML
document) automatiquement.
Est-il un moyen pour éviter cela et d'utiliser l'encodage correct, comme prévu dans le ByteArrayInputStream
.
Il est également utile d'ajouter que j'ai déjà utilisé l'
transformer.setOutputProperty(OutputKeys.ENCODING, encoding)
méthode pour récupérer le bon encodage.
Toute aide serait appréciée.
OriginalL'auteur Ralph D | 2010-08-26
Vous devez vous connecter pour publier un commentaire.
Aussi, il serait utile de mentionner ce qui
XMLSerializer
que vous utilisez.org.apache.xml.serialize.XMLSerializer
Je suppose ? - à l'aide de la "interne" du soleil package serait vraiment une mauvaise pratique.OriginalL'auteur Andrey
Voici une mise à jour de réponse depuis OutputFormat est obsolète :
La deuxième partie sera de retour le Document XML en tant que Chaîne de
OriginalL'auteur Cyril N.
Je l'ai résolu, donné beaucoup d'essais et d'erreurs.
J'ai été en utilisant
mais modifiée à
et cela a résolu mon problème.
encoding
est ce que j'ai mis qu'il soittrue
agit de savoir si ou non de retrait est fixé.Note à moi-même - lire plus attentivement - j'avais regardé la javadoc heures - si seulement j'aurais du lire plus attentivement.
OriginalL'auteur Ralph D
Cela a fonctionné pour moi et c'est très simple. Pas besoin d'un transformateur ou de sortie formateur:
OriginalL'auteur Matt