Formater XML en Java

Chose que tu veux faire


<tag><tag>test</tag></tag>

Une chaîne comme


<tag>
  <tag>test</tag>
</tag>

Je veux le convertir comme ça.

Méthode

Il semble y avoir diverses théories sur la façon de le faire, mais j'ai combiné certaines d'entre elles comme suit.


	static public String formatXml(String xml) {

		try {

			InputStream bais = new ByteArrayInputStream(xml.getBytes("utf-8"));

			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder = factory.newDocumentBuilder();
			Document doc = builder.parse(bais);
			doc.setXmlStandalone(true);

			Transformer transformer = TransformerFactory.newInstance().newTransformer();
			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
			transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "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();
			String header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
			return header + "\n" + xmlString;

		} catch (Exception e) {
			e.printStackTrace();
		}
		return xml;
	}

Recommended Posts

Formater XML en Java
Implémenter la signature XML en Java
format google java
Partition en Java
Janken à Java
Taux circonférentiel à Java
FizzBuzz en Java
Essayez d'utiliser l'API au format JSON en Java
Date de sortie en Java au format étendu ISO 8601
java qui génère un fichier au format vmg au format eml
Lire JSON en Java
Implémentation de l'interpréteur par Java
Faites un blackjack avec Java
Application Janken en Java
Programmation par contraintes en Java
Mettez java8 dans centos7
NVL-ish guy en Java
Joindre des tableaux en Java
"Hello World" en Java
Interface appelable en Java
Fonctions Azure en Java
Simple htmlspecialchars en Java
Implémentation Boyer-Moore en Java
Hello World en Java
Utiliser OpenCV avec Java
Mémorandum WebApi avec Java
Détermination de type en Java
Exécuter des commandes en Java (ping)
Divers threads en java
Implémentation du tri de tas (en java)
API Zabbix en Java
Art ASCII à Java
Comparer des listes en Java
Mesures Java Gold: Format
POST JSON en Java
Exprimer l'échec en Java
Créer JSON en Java
Manipulation de la date dans Java 8
Nouveautés de Java 8
Utiliser PreparedStatement en Java
Nouveautés de Java 9,10,11
Exécution parallèle en Java
Essayez d'utiliser RocksDB avec Java
Lire des fichiers binaires en Java 1
Obtenir des informations EXIF en Java
[Neta] Sleep Sort en Java
L'histoire de Java dans ce monde
Segfo Java en 6 lignes
Essayez d'appeler JavaScript en Java
Essayez de développer Spresense avec Java (1)
Essayez le type fonctionnel en Java! ①
J'ai fait une roulette à Java.
Refactoring: faire du Blackjack en Java
Ecrire des rappels de vol en Java
Analyse de sujets (LDA) en Java
Importer des données Excel avec Java 2