如何使用 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/