我在使用 DOM 解析器解析带有 DOCTYPE 声明的 xhtml 时遇到问题。
错误: java.io.IOException:服务器为 URL 返回 HTTP 响应代码:503: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd%20
声明:DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
有没有办法将 xhtml 解析为忽略 DOCTYPE 声明的 Document 对象。
最佳答案
一个对我有用的解决方案是为 DocumentBuilder 提供一个返回空流的假解析器。这里有一个很好的解释(看看kdgregory的最后一条消息)
http://forums.sun.com/thread.jspa?threadID=5362097
这是 kdgregory 的解决方案:
documentBuilder.setEntityResolver(new EntityResolver()
{
public InputSource resolveEntity(String publicId, String systemId)
throws SAXException, IOException
{
return new InputSource(new StringReader(""));
}
});
关于java - 如何使用 DOM 解析器解析忽略 DOCTYPE 声明的 xhtml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2640825/