首页 > Java > java教程 > 如何在 Java 中格式化非结构化 XML 字符串?

如何在 Java 中格式化非结构化 XML 字符串?

Susan Sarandon
发布: 2024-12-14 13:43:11
原创
829 人浏览过

How to Format Unstructured XML Strings in Java?

在 Java 中格式化非结构化 XML 字符串

您有一个编码为 Java 字符串且没有任何格式的 XML 字符串,您需要将其转换转换为具有适当缩进和换行的字符串。

要实现此目的,您可以使用 Java Transformer 类使用 OutputKeys 和 DOMSource 类。

首先,创建 Transformer 类的新实例:

Transformer transformer = TransformerFactory.newInstance().newTransformer();
登录后复制

配置 Transformer 以向输出添加缩进:

transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
登录后复制

现在,初始化一个 StreamResult 对象以捕获转换后的结果作为字符串:

StreamResult result = new StreamResult(new StringWriter());
登录后复制

从 XML 字符串创建 DOMSource 对象:

DOMSource source = new DOMSource(doc);
登录后复制

最后,使用 Transformer 将源 XML 转换为所需的格式化输出:

transformer.transform(source, result);
String xmlString = result.getWriter().toString();
登录后复制

经过此转换,xmlString 变量将包含格式化的 XML。这是一个示例:

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);
登录后复制

输出:

<?xml version="1.0" encoding="UTF-8"?>
<root>
 <tag>
   <nested>hello</nested>
 </tag>
</root>
登录后复制

以上是如何在 Java 中格式化非结构化 XML 字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板