谁能告诉我一个 Java 库,它允许我在 html 页面上执行 XPath 查询?
我尝试使用 JAXP,但它一直给我一个奇怪的错误,我似乎无法修复(线程“main”java.io.IOException:服务器返回 HTTP 响应代码:503 对于 URL:http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd )。
非常感谢。
编辑
我发现了这个:
// Create a new SAX Parser factory
SAXParserFactory factory = SAXParserFactory.newInstance();
// Turn on validation
factory.setValidating(true);
// Create a validating SAX parser instance
SAXParser parser = factory.newSAXParser();
// Create a new DOM Document Builder factory
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// Turn on validation
factory.setValidating(true);
// Create a validating DOM parser
DocumentBuilder builder = factory.newDocumentBuilder();
来自 http://www.ibm.com/developerworks/xml/library/x-jaxpval.html但将论点变成错误并没有改变任何事情。
最佳答案
将解析器设置为“非验证”只会关闭验证;它不禁止获取DTD。获取 DTD 不仅是为了验证,还为了实体扩展......据我记得。
如果您想禁止获取 DTD,则需要向 DocumentBuilderFactory
或 DocumentBuilder
注册适当的 EntityResolver
。实现 EntityResolver
的 resolveEntity
方法以始终返回空字符串。
关于java - 在 Java 中使用 XPath 查询 HTML 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3352594/