Formatage de chaînes XML non structurées en Java
Vous disposez d'une chaîne XML codée en tant que chaîne Java sans aucun formatage et vous devez la convertir dans une chaîne avec une indentation et des sauts de ligne appropriés.
Pour y parvenir, vous pouvez utiliser la classe Java Transformer avec les OutputKeys et DOMSource.
Tout d'abord, créez une nouvelle instance de la classe Transformer :
Transformer transformer = TransformerFactory.newInstance().newTransformer();
Configurez le Transformer pour ajouter une indentation à la sortie :
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
Maintenant , initialisez un objet StreamResult pour capturer le résultat transformé sous forme de chaîne :
StreamResult result = new StreamResult(new StringWriter());
Créez un objet DOMSource à partir de votre Chaîne XML :
DOMSource source = new DOMSource(doc);
Enfin, utilisez le Transformer pour transformer le XML source en la sortie formatée souhaitée :
transformer.transform(source, result); String xmlString = result.getWriter().toString();
Après cette transformation, la variable xmlString contiendra le XML formaté. Voici un exemple :
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 xmlString = result.getWriter().toString(); System.out.println(xmlString);
Sortie :
<?xml version="1.0" encoding="UTF-8"?> <root> <tag> <nested>hello</nested> </tag> </root>
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!