java - 如何从 XML 文档中删除/删除 DOCTYPE 声明?

标签 java xml dom sax jaxp

如何使用 JAVA 中的 DOM 解析器或 SAX 解析器从 XML 文档中移除/删除 DOCTYPE 声明?

如果你想知道的东西不见了。只需在您的评论中提及即可。

谢谢

最佳答案

这似乎做你想做的事:

try {
    XMLInputFactory inFactory = XMLInputFactory.newFactory();
    XMLOutputFactory outFactory = XMLOutputFactory.newFactory();

    XMLEventReader input = inFactory.createXMLEventReader(
            new FileInputStream("test.xml"));
    XMLEventReader filtered = inFactory.createFilteredReader(
            input, new DTDFilter());
    XMLEventWriter output = outFactory.createXMLEventWriter(
            System.out);

    output.add(filtered);
    output.flush();
}
catch (XMLStreamException e) {
    e.printStackTrace();
}
catch (FileNotFoundException e) {
    e.printStackTrace();
}

static class DTDFilter implements EventFilter
{
    @Override
    public boolean accept(XMLEvent event) {
        return event.getEventType() != XMLStreamConstants.DTD;
    }

}

关于java - 如何从 XML 文档中删除/删除 DOCTYPE 声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5950120/

相关文章:

java - 如何延迟Java代码直到另一部分代码完成?

java - FreeTTS 找不到任何声音

java - 如何为显示标签添加排序

android - Android 中的简单 XML 解析

Android Studio 渲染错误

javascript - 使用 Javascript 根据下拉列表中选择的选项更改 URL

java - 我们什么时候使用 SpringApplicationBuilder?

xml - 'minOccurs' 属性不能存在

javascript - 是否可以使用 Javascript 获取文本的像素坐标并在其周围绘制矩形边框?

javascript - 变量如何将其值绑定(bind)到 DOM?