简体   繁体   English

帮助Java Swing HTML解析

[英]Help with Java Swing HTML parsing

我正在使用Java Swing HTML解析库解析HTML文档的集合,并且试图隔离<title>标签之间的文本,以便可以使用它们来标识文档,但是由于handleStartTag ,我很难做到这handleStartTag方法无权访问标签内的文本

You can use XPath to pull out data from HTML: 您可以使用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);

However, the HTML must be well formed XHTML for this to work. 但是,HTML必须是格式正确的XHTML才能起作用。 For example, the "<br>" tag is valid in HTML, but is invalid in XHTML because it is not closed. 例如,“ <br>”标记在HTML中有效,但在XHTML中无效,因为它没有关闭。 It must be "<br />" to be valid in XHTML. 在XHTML中必须为“ <br />”才能有效。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM