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

时间:2015-03-16 20:17:49

标签: java xml jdom

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

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

有没有办法使用JDOM?

1 个答案:

答案 0 :(得分:2)

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

请参阅带有XMLReaderJDOMFactory的the SAXBuilder constructor。示例用法是:

    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”)中指定的DTD验证了XML,该声明位于相对于note-ex_dtd.xml文档的位置。