Heim >Java >javaLernprogramm >Wie kann ich XML-Strings in Java verschönern?

Wie kann ich XML-Strings in Java verschönern?

DDD
DDDOriginal
2024-12-21 17:01:10955Durchsuche

How Can I Beautify XML Strings in Java?

XML-Verschönerung in Java

Frage:

Wie können wir die Lesbarkeit und Formatierung verbessern? von XML als String gespeichert in Java?

Einführung:

XML (Extensible Markup Language) mangelt oft an korrekten Einrückungen und Zeilenumbrüchen, was das Lesen und Interpretieren erschwert. Das Formatieren von XML verbessert die Lesbarkeit und erleichtert die Navigation und das Verständnis.

Code-Lösung:

Mithilfe der Java-API können wir einen XML-String formatieren, um ihn besser zu machen lesbar:

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

public class XmlBeautifier {

    public static String formatXml(String unformattedXml) {
        try {
            // Create a transformer to modify the XML
            Transformer transformer = TransformerFactory.newInstance().newTransformer();

            // Set indenting and indentation amount
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");

            // Convert the XML string to a DOM source
            DOMSource source = new DOMSource(new DocumentBuilder().parse(new InputSource(new StringReader(unformattedXml))));

            // Format the XML and store the result in a string
            StreamResult result = new StreamResult(new StringWriter());
            transformer.transform(source, result);
            return result.getWriter().toString();
        } catch (TransformerException | ParserConfigurationException | SAXException e) {
            // Handle any exceptions
            throw new RuntimeException(e);
        }
    }

}

Verwendungsbeispiel:

String unformattedXml = "<tag><nested>hello</nested></tag>";
String formattedXml = XmlBeautifier.formatXml(unformattedXml);

Ausgabe Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <tag>
    <nested>hello</nested>
  </tag>
</root>

Hinweise:

  • Dieser Ansatz nutzt XSLT (Extensible Stylesheet Language Transformations) für die Handhabung der XML-Transformation.
  • Die Ausgabeformatierung kann je nach Java-Version und spezifischer XML-Parsing-Bibliothek leicht variieren verwendet.
  • Alternative Bibliotheken wie XMLSpy oder Oxygen XML Editor bieten umfassende XML-Formatierungsfunktionen.

Das obige ist der detaillierte Inhalt vonWie kann ich XML-Strings in Java verschönern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn