Java XML 格式化输出如何做到美观易读

发布时间:2025-02-08 15:48:08 作者:小樊
来源:亿速云 阅读:127

在 Java 中,可以使用 javax.xml.transform 包中的 TransformerTransformerFactory 类来实现 XML 的格式化输出。以下是一个简单的示例,展示了如何使用这些类来格式化 XML 字符串:

import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

public class XmlFormatter {

    public static void main(String[] args) throws Exception {
        String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><element1>value1</element1><element2>value2</element2></root>";

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document document = builder.parse(new org.xml.sax.InputSource(new StringReader(xmlString)));

        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");

        DOMSource source = new DOMSource(document);
        StringWriter writer = new StringWriter();
        StreamResult result = new StreamResult(writer);
        transformer.transform(source, result);

        System.out.println(writer.toString());
    }
}

在这个示例中,我们首先解析了一个简单的 XML 字符串,然后使用 Transformer 类设置了输出属性,如编码、缩进和缩进量。最后,我们将格式化后的 XML 输出到控制台。

运行这个示例,你将看到如下格式化后的 XML:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <element1>value1</element1>
  <element2>value2</element2>
</root>

这样,你就可以得到一个美观且易读的 XML 输出。

推荐阅读:
  1. Java数字的格式化
  2. java如何格式化日期?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:如何在 Java 项目中集成 XML 处理库

下一篇:如何利用 Java 处理 XML 数据流

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》