Formatieren Sie XML in Java

Was du machen willst


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

Eine Saite wie


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

Ich möchte es so konvertieren.

Methode

Es scheint verschiedene Theorien darüber zu geben, wie es geht, aber ich habe einige davon wie folgt kombiniert.


	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

Formatieren Sie XML in Java
Implementieren Sie die XML-Signatur in Java
Google Java-Format
Partisierung in Java
Janken in Java
Umfangsrate in Java
FizzBuzz in Java
Versuchen Sie es mit der JSON-Format-API in Java
Ausgabedatum in Java im erweiterten ISO 8601-Format
Java, das eine Datei im Vmg-Format im EML-Format ausgibt
Lesen Sie JSON in Java
Interpreter-Implementierung durch Java
Machen Sie einen Blackjack mit Java
Janken App in Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
NVL-artiger Typ in Java
Verbinden Sie Arrays in Java
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
Azure funktioniert in Java
Einfache HTML-Spezialchars in Java
Boyer-Moore-Implementierung in Java
Hallo Welt in Java
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java
Typbestimmung in Java
Befehle in Java ausführen (Ping)
Verschiedene Threads in Java
Implementierung der Heap-Sortierung (in Java)
Zabbix API in Java
ASCII-Kunst in Java
Listen in Java vergleichen
Java Gold misst: Format
POST JSON in Java
Fehler in Java ausdrücken
Erstellen Sie JSON in Java
Datumsmanipulation in Java 8
Was ist neu in Java 8?
Verwenden Sie PreparedStatement in Java
Was ist neu in Java 9,10,11
Parallele Ausführung in Java
Versuchen Sie es mit RocksDB mit Java
Lesen Sie Binärdateien in Java 1
Holen Sie sich EXIF-Informationen in Java
[Neta] Sleep Sort in Java
Java-Geschichte in dieser Welt
Segfo Java in 6 Zeilen
Versuchen Sie, JavaScript in Java aufzurufen
Lassen Sie uns Spresense mit Java entwickeln (1)
Probieren Sie den Funktionstyp in Java aus! ①
Ich habe ein Roulette in Java gemacht.
Refactoring: Machen Sie Blackjack in Java
Schreiben Sie Flyway-Rückrufe in Java
Themenanalyse (LDA) in Java
Importieren Sie Excel-Daten mit Java 2