使用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>
相关推荐
你怎么知道我是队长14 分钟前
C语言---输入和输出
c语言·开发语言
mmz120718 分钟前
二分查找(c++)
开发语言·c++·算法
你怎么知道我是队长24 分钟前
C语言---文件读写
java·c语言·开发语言
陌路2025 分钟前
C++30 STL容器 -deque双端队列
开发语言·c++
xb113244 分钟前
C#委托详解
开发语言·c#
brent42344 分钟前
DAY50复习日
开发语言·python
木头程序员1 小时前
前端(包含HTML/JavaScript/DOM/BOM/jQuery)基础-暴力复习篇
开发语言·前端·javascript·ecmascript·es6·jquery·html5
Data_agent1 小时前
Cocbuy 模式淘宝 / 1688 代购系统(欧美市场)搭建指南
开发语言·python
wszy18091 小时前
外部链接跳转:从 App 打开浏览器的正确姿势
java·javascript·react native·react.js·harmonyos
lsx2024061 小时前
《Foundation 下拉菜单》
开发语言