Maison >Java >javaDidacticiel >Comment formater des chaînes XML non structurées en Java ?

Comment formater des chaînes XML non structurées en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-14 13:43:11832parcourir

How to Format Unstructured XML Strings in Java?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn