Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Mencantikkan Rentetan XML di Java?

Bagaimanakah Saya Boleh Mencantikkan Rentetan XML di Java?

DDD
Lepaskan: 2024-12-21 17:01:10
asal
922 orang telah melayarinya

How Can I Beautify XML Strings in 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);
        }
    }

}
Salin selepas log masuk

Penggunaan contoh:

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

Contoh Output:

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

Nota:

  • Pendekatan ini menggunakan XSLT (Transformasi Bahasa Lembaran Gaya Boleh Diperluas) untuk mengendalikan XML transformasi.
  • Pemformatan output mungkin berbeza sedikit bergantung pada versi Java dan perpustakaan penghuraian XML khusus yang digunakan.
  • Perpustakaan alternatif, seperti XMLSpy atau Editor XML Oksigen, menyediakan keupayaan pemformatan XML yang komprehensif.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan