gpt4 book ai didi

java - 告诉 JAXP DTD 文件的路径

转载 作者:行者123 更新时间:2023-11-30 11:30:19 25 4
gpt4 key购买 nike

我有一个引用了 dtd 文件的 xml 文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE varman SYSTEM "referenced.dtd">
...

我设法用 JAXP 读取这个文件,但前提是 referenced.dtd 与 xml 文件位于同一文件夹中。否则我会收到无法加载 dtd 文件的异常。而且我找不到插入处理程序或任何东西来解决这个缺失资源的地方。请赐教!

最佳答案

使用属性设置允许外部路径:

添加错误处理程序以捕获不受支持的属性:

public boolean isNewPropertySupported() {
try {
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser parser = spf.newSAXParser();
parser.setProperty("http://javax.xml.XMLConstants/property/accessExternalDTD", "file");
} catch (ParserConfigurationException ex) {
fail(ex.getMessage());
} catch (SAXException ex) {
String err = ex.getMessage();
if (err.indexOf("Property 'http://javax.xml.XMLConstants/property/accessExternalDTD' is not recognized.") > -1)
{
//expected, jaxp 1.5 not supported
return false;
}
}
return true;
}

关于java - 告诉 JAXP DTD 文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17840474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com