我想知道是否有一种方法(特别是API),在Java中,以类似SAX的方式(即类似事件的方式,与JDOM不同,我不能使用它)编写XML,它采用DTD并保证我的XML文档被正确编写。
我一直在使用 SAX 进行解析,并且自己编写了一个 XML 编写器层,就像编写一个普通文件一样(通过 OutputStreamWriter
),但我发现我的 XML 编写器层并不总是遵循 DTD 规则。
最佳答案
SAX 不知道如何编写 XML 文档。它负责解析它们。因此,您可以选择任何想要创建文档的方法,然后使用 SAX API 针对 DTD 对其进行验证。
顺便问一下,您为什么要限制自己使用大约 10 年前几乎过时的工具?为什么不使用更高级别的 API 将对象转换为 XML,反之亦然?例如 JAXB。
关于java - 根据 DTD 编写 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8217034/