我正在使用Java Swing HTML解析库解析HTML文档的集合,我试图在<title>
标记之间隔离文本,以便我可以使用它们来识别文档但我很难由于handleStartTag
方法无法访问标记内的文本
答案 0 :(得分:1)
您可以使用XPath从HTML中提取数据:
String html = //...
//read the HTML into a DOM
StreamSource source = new StreamSource(new StringReader(html));
DOMResult result = new DOMResult();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(source, result);
Node root = result.getNode();
//use XPath to get the title
XPath xpath = XPathFactory.newInstance().newXPath();
String title = xpath.evaluate("/html/title", root);
然而,HTML必须是格式良好的XHTML才能实现。例如,“&lt; br&gt;”标记在HTML中有效,但在XHTML中无效,因为它未关闭。它必须是“&lt; br /&gt;”在XHTML中有效。