使用 apaches DOMParser(org.apache.xerces.parsers.DOMParser)
实现,我们可以通过使用以下特性来抑制 DTD 验证:
parser.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
但这将从 xml 本身中删除 DTD 声明。如果以字符串格式打印 xml,您将看到 XML 文件中的原始 DTD 声明丢失。有什么办法可以解决这个问题?甚至是这样的: 1. 加载文档。2. 提取 dtd 声明。3. 禁止 dtd 验证(删除 DTD 声明)。4. 解析和更新文档。5.再次添加DTD声明。