【问题标题】:check the compatibility of an XML document against a DTD using JDOM?使用 JDOM 检查 XML 文档与 DTD 的兼容性?
【发布时间】:2015-03-17 20:34:06
【问题描述】:

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

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

有没有办法使用 JDOM 来做到这一点?

【问题讨论】:

    标签: java xml jdom


    【解决方案1】:

    是的,你可以,在 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,该 DTD 位于相对于 note-ex_dtd.xml 文档的位置。

    【讨论】:

    • 你能不能给我一个更清晰的代码,先创建一个DTD文件,然后是XML文件,最后根据声明的DTD检查XML文件是否有效
    • @steevn - ypu 可以运行该代码。 xml 和 dtd 文件存在于我展示的示例中使用的 url 中。见w3schools.com/dtd/default.asp
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 2020-01-21
    • 1970-01-01
    相关资源
    最近更新 更多