使用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>
相关推荐
晨非辰1 小时前
#C语言——刷题攻略:牛客编程入门训练(十一):攻克 循环控制(三),轻松拿捏!
c语言·开发语言·经验分享·学习·visual studio
励志码农3 小时前
JavaWeb 30 天入门:第二十三天 —— 监听器(Listener)
java·开发语言·spring boot·学习·servlet
天高云淡ylz3 小时前
子网掩码的隐形陷阱:为何能ping通却无法HTTPS访问
开发语言·php
@小匠3 小时前
Spring Cache 多租户缓存隔离解决方案实践
java·spring·缓存
智码看视界4 小时前
老梁聊全栈系列:(阶段一)架构思维与全局观
java·javascript·架构
黎宇幻生4 小时前
Java全栈学习笔记33
java·笔记·学习
希望20175 小时前
Golang Panic & Throw & Map/Channel 并发笔记
开发语言·golang
朗迹 - 张伟5 小时前
Golang安装笔记
开发语言·笔记·golang
yzx9910135 小时前
生活在数字世界:一份人人都能看懂的网络安全生存指南
运维·开发语言·网络·人工智能·自动化