java - 使用 java 从生成的 xml 文档中删除 xml 声明

标签 java xml xml-serialization

String root = "RdbTunnels";
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.newDocument();
Element rootElement = document.createElement(root);
document.appendChild(rootElement);   

OutputFormat format = new OutputFormat(document);
format.setIndenting(true);


XMLSerializer serializer = new XMLSerializer(System.out, format);
serializer.serialize(document);

结果如下

<?xml version="1.0" encoding="UTF-8"?>
<RdbTunnels/>

但是我需要从输出中删除 xml 声明我该怎么做

最佳答案

您见过 Transformer 使用的 OutputKeys 吗?特别是 OMIT_XML_DECLARATION

请注意,删除 header 在 XML 1.0 中是有效的,但您会丢失可能非常重要的字符编码数据(除其他外)。

关于java - 使用 java 从生成的 xml 文档中删除 xml 声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2133395/

相关文章:

java - 如果堆栈跟踪的长度是偶数,则 JIT 重新编译以在多次迭代后执行快速抛出

java - 在java中读取xml文件和解析器

c# - 带前缀的 XML 序列化元素

php - 为什么 CakePHP 在我的 xml 布局之前插入一个空格?

java - 将 java 对象可靠地存储在文件中的最少代码

Android XML 序列化

c# - 如何使用 DataContractSerializer 创建带有与我已知类型匹配的标签名称的 xml

java - 抢占正在执行同步方法的线程

java - 在 Windows 2000 Pro 上通过 Java 获取 Activity 进程

java - 为什么我会得到这个异常(exception)?