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
Libérer: 2024-12-14 13:43:11
original
830 Les gens l'ont consulté

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();
Copier après la connexion

Configurez le Transformer pour ajouter une indentation à la sortie :

transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
Copier après la connexion

Maintenant , initialisez un objet StreamResult pour capturer le résultat transformé sous forme de chaîne :

StreamResult result = new StreamResult(new StringWriter());
Copier après la connexion

Créez un objet DOMSource à partir de votre Chaîne XML :

DOMSource source = new DOMSource(doc);
Copier après la connexion

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();
Copier après la connexion

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);
Copier après la connexion

Sortie :

<?xml version="1.0" encoding="UTF-8"?>
<root>
 <tag>
   <nested>hello</nested>
 </tag>
</root>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal