0
Je souhaite enregistrer mon document DOM en tant que fichier XML. Je suivre ce tutoriel: http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JAXPXSLT4.htmlde OutputStream vers un flux de fichiers
Alors, voici mon code:
...
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);
mais au lieu de System.out, je veux enregistrer dans un fichier résultat. Comment puis-je faire ceci?
Utilisez les objets 'InputStream' et' OutputStream' pour XML, car XML décrit son encodage en interne. Par exemple, créez un 'OutputStreamWriter' en utilisant le codage UTF-16. Le 'Transformer' ne peut pas détecter automatiquement cela, donc il utilise un attribut" encoding "de" UTF-8 "dans la déclaration' xml'. Lorsque le XML résultant est analysé, un décodeur UTF-8 est utilisé comme spécifié dans le document, mais il échoue car le codage réel est UTF-16. Vous pouvez contourner ce problème en définissant la propriété 'OutputKeys.ENCODING' sur' Transformer', mais pourquoi s'en soucier? – erickson