【发布时间】:2012-03-03 01:50:08
【问题描述】:
我正在尝试提取某个工具生成的 html 文件的文本内容。 我不能使用普通的 sax 或 dom 解析器,因为 html 格式不正确。
所以我尝试使用 htmlparser http://htmlparser.sourceforge.net/
现在如何提取我需要的节点?
我使用了以下代码,但它不读取节点文本内容。它只是打印带有属性的 tds。我怎样才能获取节点正文?
td colspan="2"
td valign="top" class="titleText"
我想提取谁的正文有一个数字和一个 % 符号
String inputHTML = readFileAsString(filePath);
Parser parser = new Parser();
parser.setInputHTML(inputHTML);
parser.setEncoding("UTF-8");
NodeList nl = parser.parse(null);
NodeList tds = nl.extractAllNodesThatMatch(new TagNameFilter("td"),true);
for(int i= 0; i < tds.size(); i++) {
Node node = tds.elementAt(i);
System.out.println(node.getText());
}
【问题讨论】:
-
dom解析器可以轻松提取
-
它给出了异常,因为 html 格式不正确。缺少一些结束标签
-
没问题,如果标签没有关闭,dom也可以解析,如果没有被接受也没有问题获取数据