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

文章目录

    • 功能描述
    • 实现代码

功能描述

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

<root>
	<student>
		<name>张三name>
		<sex>sex>
		<age>16age>
		<class>1班class>
	student>
root>

实现代码

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

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


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();  
        }  
    }  
}

运行以上代码会输出:


<root><student><name>张三name><sex>sex><age>16age><class>1班class>student>root>

你可能感兴趣的:(Java,xml,开发语言,java)