使用JDOM检查XML文档与DTD的兼容性?

我正在使用Java,我想检查XML文件是否对DTD有效。

假设我们确实有一个DTD文件,我想检查某个XML文件是否对DTD文件中提出的相同定义有效。

有什么办法可以使用JDOM吗?

是的,你可以在JDOM中。 它在JDOM 2.x中最容易(而不是1.x)。

请参阅带有XMLReaderJDOMFactory 的SAXBuilder构造函数 。 一个示例用法是:

SAXBuilder sb = new SAXBuilder(XMLReaders.DTDVALIDATING); Document doc = sb.build("http://www.w3schools.com/dtd/note_ex_dtd.xml"); XMLOutputter xout = new XMLOutputter(Format.getPrettyFormat()); xout.output(doc, System.out); 

请注意,上面的代码根据DocType声明(“note.dtd”)中指定的DTDvalidation了XML,该声明位于相对于note-ex_dtd.xml文档的位置。