【发布时间】:2023-03-13 22:23:01
【问题描述】:
我需要解析一堆传入的 xml 文档,它们都有相同的 DTD。我不希望 Sax Parser 每次必须解析新的 xml 文档时都加载 DTD。无论如何我可以将 DTD 加载到解析器中并在后续的解析调用中重用它吗?
【问题讨论】:
我需要解析一堆传入的 xml 文档,它们都有相同的 DTD。我不希望 Sax Parser 每次必须解析新的 xml 文档时都加载 DTD。无论如何我可以将 DTD 加载到解析器中并在后续的解析调用中重用它吗?
【问题讨论】:
我不确定您是否担心每次加载文档时从远程 URL 加载 DTD。
如果是,那么您可以定义 EntityResolver 并指定 DTD 的本地副本。这将在 SAX 解析器每次解析文档时提供对 DTD 的 本地 实例的引用。
不幸的是,我不相信有预加载/预解析 DTD 的方法。
【讨论】: