Formatieren unstrukturierter XML-Strings in Java
Sie haben einen XML-String, der als Java-String ohne jegliche Formatierung codiert ist, und Sie müssen ihn konvertieren in einen String mit korrekter Einrückung und Zeilenumbrüchen umwandeln.
Um dies zu erreichen, können Sie die Java Transformer-Klasse zusammen mit den OutputKeys und verwenden DOMSource-Klassen.
Erstellen Sie zunächst eine neue Instanz der Transformer-Klasse:
Transformer transformer = TransformerFactory.newInstance().newTransformer();
Konfigurieren Sie den Transformer so, dass der Ausgabe Einrückungen hinzugefügt werden:
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
Jetzt Initialisieren Sie ein StreamResult-Objekt, um das transformierte Ergebnis als String zu erfassen:
StreamResult result = new StreamResult(new StringWriter());
Erstellen Sie ein DOMSource-Objekt aus Ihrem XML-String:
DOMSource source = new DOMSource(doc);
Verwenden Sie abschließend den Transformer, um das Quell-XML in die gewünschte formatierte Ausgabe umzuwandeln:
transformer.transform(source, result); String xmlString = result.getWriter().toString();
Nach dieser Transformation enthält die Variable xmlString das formatierte XML. Hier ist ein Beispiel:
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);
Ausgabe:
<?xml version="1.0" encoding="UTF-8"?> <root> <tag> <nested>hello</nested> </tag> </root>
Das obige ist der detaillierte Inhalt vonWie formatiere ich unstrukturierte XML-Strings in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!