Как удалить / удалить объявление DOCTYPE из документа XML? - PullRequest
4 голосов
/ 10 мая 2011

как удалить / удалить объявление DOCTYPE из XML-документа с использованием DOM Parser или SAX Parser в JAVA?

Если что-то, что вы хотели узнать, отсутствует.Просто укажите это в ваших комментариях.

спасибо

1 Ответ

5 голосов
/ 10 мая 2011

Это похоже на то, что вы хотите:

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

}
...