生成xml,需去除<?xml version="1.0" encoding="UTF-8"?>,求解答!!

java生成xml文件,里面总有这个,求去除。

img

 
import lombok.extern.javahttps://img-mid.csdnimg.cn/release/static/image/mid/ask/22447276077610.png "#left")
.Log;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
 
import java.io.*;
import java.util.Arrays;
 
 
public class MakeDocumentApp {
    public static void main(String[] args) {
 
        // 1.声明文件名称
        String fileName = "xml_test";
        // 2.创建dom对象
        Document document = DocumentHelper.createDocument();
 
        // 3.添加节点,根据需求添加,这里我只是设置了一个head节点,下面有name和age两个子节点
        Element head = document.addElement("Head");
        Element name = head.addElement("name");
        name.setText("LQ");
        Element age = head.addElement("age");
        age.addText("18");
 
        // 4、格式化模板
        //OutputFormat format = OutputFormat.createCompactFormat();
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding("UTF-8");
 
        // 5、生成xml文件
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        try {
            XMLWriter writer = new XMLWriter(out, format);
            writer.write(document);
            writer.close();
        } catch (IOException e) {
            System.out.println("生成xml文件失败。文件名【" + fileName + "】");
        }
 
        // 6、生成的XML文件
        // 7、利用文件输出流输出到文件, 文件输出到了您的项目根目录下了
        try (FileOutputStream fos = new FileOutputStream(fileName + ".xml")) {
            fos.write(out.toByteArray());
        } catch (IOException e) {
            e.printStackTrace();
        }
 
    }
 
 
}

  • 用如下试试:
OutputFormat format = new OutputFormat();
format.setSuppressDeclaration(true); // true 不添加 XML定义  , false 添加XML定义

参考:

img

把4、格式化模板format去掉试试。

这个format.setSuppressDeclaration(true);可以去掉xml头

这个是标识xml文件用的,不可去除,否则解析xml的时候可能出问题。点击采纳该回答哦