我想读取一个包含模式声明的XML文件。我只想读取它,不在意它是否有效,但我希望它是格式良好的。问题在于读取器正在尝试读取模式文件并失败了。我不希望它甚至尝试这样做。 我已经尝试禁用验证,但它仍然坚持尝试读取模式文件。理想情况下,我希望能够使用标准的Java 5 JDK完成这项任务。以下是我目前拥有的非常简单的代码:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setValidating(false);
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
这里是我得到的异常信息:
java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 503 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
是的,这碰巧是一个XHTML模式,但这不是一个"XHTML"问题,而是一个XML问题。我只是指出这一点,以免人们分心。在这种情况下,W3C基本上是在说"不要请求这个东西,这是一个愚蠢的想法",我也同意。但是,这仍然只是问题的细节,不是根本原因。我根本不想请求它。