Pretty Printing XML en Java
Étant donné une chaîne Java contenant du XML non formaté, l'objectif est de la transformer en une chaîne XML bien structurée avec des sauts de ligne appropriés et indentation.
Solution :
Instancier un transformateur :
Transformer transformer = TransformerFactory.newInstance().newTransformer();
Définir la sortie Propriétés :
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
Créer un StreamResult pour la sortie :
StreamResult result = new StreamResult(new StringWriter());
Créer un DOMSource pour l'entrée Chaîne :
DOMSource source = new DOMSource(doc);
Transformer la source en résultat :
transformer.transform(source, result);
Récupérer XML formaté Chaîne :
String xmlString = result.getWriter().toString();
Exemple de code :
String unformattedXml = ""; Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); StreamResult result = new StreamResult(new StringWriter()); DOMSource source = new DOMSource(doc); transformer.transform(source, result); String formattedXml = result.getWriter().toString(); System.out.println(formattedXml); hello
Remarque : Les résultats spécifiques peuvent varient en fonction de la version Java utilisée. Des modifications peuvent être nécessaires pour répondre à des plateformes spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!