Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mencantikkan Rentetan XML di Java?
Pengindahan XML dalam Java
Soalan:
Bagaimana kita boleh meningkatkan kebolehbacaan dan pemformatan XML yang disimpan sebagai rentetan dalam Java?
Pengenalan:
XML (Extensible Markup Language) selalunya kekurangan lekukan dan pemisah baris yang betul, menjadikannya sukar untuk dibaca dan ditafsir. Memformat XML meningkatkan kebolehbacaannya dan menjadikannya lebih mudah untuk menavigasi dan memahami.
Penyelesaian Kod:
Menggunakan Java API, kami boleh memformat rentetan XML untuk menjadikannya lebih boleh dibaca:
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); } } }
Penggunaan contoh:
String unformattedXml = "<tag><nested>hello</nested></tag>"; String formattedXml = XmlBeautifier.formatXml(unformattedXml);
Contoh Output:
<?xml version="1.0" encoding="UTF-8"?> <root> <tag> <nested>hello</nested> </tag> </root>
Nota:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencantikkan Rentetan XML di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!