使用dom4j将xml转为String并去掉所有格式

文章目录

功能描述

有以下xml内容,需要转成String字符串。同时,要去掉文中所有格式。

xml 复制代码
<root>
	<student>
		<name>张三</name>
		<sex>男</sex>
		<age>16</age>
		<class>1班</class>
	</student>
</root>

实现代码

要将 XML 转换为字符串并去除格式,您可以使用 dom4j 提供的 OutputFormat 类,并设置其格式化选项为不缩进和不添加换行符。以下是一个示例代码片段,演示了如何将 XML 转换为没有格式的字符串:

下面是一个示例代码片段:

java 复制代码
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
  
public class XmlToStringWithoutFormattingExample {  
    public static void main(String[] args) {  
        // 创建一个包含一些初始内容的 XML 文档  
        Document document = DocumentHelper.createDocument();  
        Element rootElement = document.addElement("root");  
        Element studentElement = rootElement.addElement("student");  
        Element nameElement = studentElement.addElement("name").addText("张三");  
        Element sexElement = studentElement.addElement("sex").addText("男");  
        studentElement.addElement("age").addText("16");  
        Element classElement = studentElement.addElement("class").addText("1班");  
  
        try {  
            // 使用 OutputFormat 进行格式化设置  
            OutputFormat format = OutputFormat.createCompactFormat();  
            // 设置是否缩进,默认为 false            
            format.setIndent(false);  
            // 创建 StringWriter 来保存转换后的无格式 XML 字符串  
            java.io.StringWriter stringWriter = new java.io.StringWriter();  
            // 创建 XMLWriter 对象并设置输出流和格式化参数  
            XMLWriter writer = new XMLWriter(stringWriter, format);  
            // 将 Document 对象写入到输出流中,并触发转换操作  
            writer.write(document);  
            String xmlStringWithoutFormatting = stringWriter.toString();  
            System.out.println(xmlStringWithoutFormatting);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
}

运行以上代码会输出:

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<root><student><name>张三</name><sex>男</sex><age>16</age><class>1班</class></student></root>
相关推荐
yong99902 分钟前
MATLAB读取高光谱图像
开发语言·matlab
2zcode8 分钟前
基于MATLAB的肝病风险评估与分期分析系统设计与实现
开发语言·matlab
小小de风呀17 分钟前
de风——【从零开始学C++】(五):内存管理
开发语言·c++
ooseabiscuit21 分钟前
Laravel6.x核心优化与特性全解析
android·开发语言·javascript
折哥的程序人生 · 物流技术专研22 分钟前
Java面试85题图解版(一):基础核心篇
java·开发语言·后端·面试
AllData公司负责人38 分钟前
通过Postgresql同步到Doris,全视角演示AllData数据中台核心功能效果,涵盖:数据入湖仓,数据同步,数据处理,数据服务,BI可视化驾驶舱
java·大数据·数据库·数据仓库·人工智能·python·postgresql
Hello.Reader1 小时前
算法基础(十)——分治思想把大问题拆成小问题
java·开发语言·算法
一只大袋鼠1 小时前
JavaWeb四种文件上传方式(下篇)
java·开发语言·springmvc·javaweb
TE-茶叶蛋2 小时前
深入研究 yudao-framework 模块:Java 编程能力提升指南
java·开发语言
逻辑驱动的ken2 小时前
Java高频考点场景题24
java·开发语言·面试·职场和发展·求职招聘