使用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>
相关推荐
云栖梦泽2 小时前
鸿蒙应用签名与上架全流程:从开发完成到用户手中
开发语言·鸿蒙系统
爱上妖精的尾巴3 小时前
6-4 WPS JS宏 不重复随机取值应用
开发语言·前端·javascript
Goldn.3 小时前
Java核心技术栈全景解析:从Web开发到AI融合
java· spring boot· 微服务· ai· jvm· maven· hibernate
李慕婉学姐4 小时前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
小鸡吃米…4 小时前
Python 列表
开发语言·python
m0_740043734 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
编织幻境的妖4 小时前
SQL查询连续登录用户方法详解
java·数据库·sql
kaikaile19954 小时前
基于C#实现一维码和二维码打印程序
开发语言·c#
我不是程序猿儿5 小时前
【C#】画图控件的FormsPlot中的Refresh功能调用消耗时间不一致缘由
开发语言·c#
未若君雅裁5 小时前
JVM面试篇总结
java·jvm·面试