我正在使用Java,我想检查XML文件是否对DTD有效。
假设我们确实有一个DTD文件,我想检查某个XML文件是否对DTD文件中提出的相同定义有效。
有没有办法使用JDOM?
答案 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文档的位置。