首頁 > Java > java教程 > 如何在 Java 中美化 XML 字串?

如何在 Java 中美化 XML 字串?

DDD
發布: 2024-12-21 17:01:10
原創
981 人瀏覽過

How Can I Beautify XML Strings in Java?

Java 中的XML 美化

問題:

問題:

如何增強可讀性和格式以字串形式儲存的XML Java?

簡介:

XML(可擴展標記語言)通常缺乏適當的縮排和換行符,使其難以閱讀和解釋。格式化 XML 可以提高其可讀性,並使其更易於導航和理解。

程式碼解決方案:
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);
        }
    }

}
登入後複製

利用 Java API,我們可以格式化 XML字串,使其更易於使用可讀:
String unformattedXml = "<tag><nested>hello</nested></tag>";
String formattedXml = XmlBeautifier.formatXml(unformattedXml);
登入後複製

用法範例:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <tag>
    <nested>hello</nested>
  </tag>
</root>
登入後複製

輸出範例:

    輸出範例:
  • 輸出範例:
輸出範例: 註:此方法利用XSLT (可擴展樣式表語言轉換)用於處理 XML 輸出格式可能會略有不同,具體取決於 Java 版本和使用的特定 XML 解析庫。 替代函式庫,例如 XMLSpy 或 Oxygen XML Editor,提供全面的 XML 格式化功能。

以上是如何在 Java 中美化 XML 字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板