首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >告诉JAXP DTD文件的路径

告诉JAXP DTD文件的路径
EN

Stack Overflow用户
提问于 2013-07-24 17:03:07
回答 1查看 1.2K关注 0票数 2

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

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE varman SYSTEM "referenced.dtd">
...

我成功地用JAXP读取了这些文件,但前提是referenced.dtd与xml文件位于同一个文件夹中。否则,我会得到一个异常,即dtd文件无法加载。我无法找到插入处理程序或任何东西来解决这个丢失资源的位置。请给我启发!

EN

回答 1

Stack Overflow用户

发布于 2013-12-09 23:23:31

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

  • jaxp性质

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

代码语言:javascript
复制
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;
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17840474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档