如何在Java中读取格式良好的XML,但跳过模式?
我想读取一个包含架构声明的 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基本上是在说“不要要求这个东西,这是一个愚蠢的想法”,我同意。但是,同样,这是问题的细节,而不是问题的根源。我根本不想要求它。