我已经构建了一个包含DTD文件的jar.我想在外部应用程序中使用此jar,其中DTD文件将用于XML文件.
我的问题是如何使我的dtd文件(在.jar文件中)可以从xml访问?
正如我们在其他配置文件中所说的那样,例如struts hibernate等,我们在xml中定义DTD,它包含在.jar文件中.我想在我的jar文件中做同样但不能弄清楚方法,请帮忙.
您可以实施一个org.xml.sax.EntityResolver
public class MyResolver implements EntityResolver {
public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
if (systemId.contains("my.dtd")) {
InputStream myDtdRes = getClass().getResourceAsStream("/com/yourcompany/my.dtd");
return new InputSource(myDtdRes);
} else {
return null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
并将其与您的DocumentBuilder.setEntityResolver()
DocumentBuilder docBuilder = ...
docBuilder.setEntityResolver(new MyResolver());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
590 次 |
| 最近记录: |