Parser parser = new Parser();
parser.setInputHTML("d:/index.html");
parser.setEncoding("UTF-8");
NodeList nl = parser.parse(null);
/*
SimpleNodeIterator sNI=list.elements();
while(sNI.hasMoreNodes()){
System.out.println(sNI.nextNode().getText());}
*/
NodeList trs = nl.extractAllNodesThatMatch(new TagNameFilter("tr"),true);
for(int i=0;i<trs.size();i++) {
NodeList nodes = trs.elementAt(i).getChildren();
NodeList tds = nodes.extractAllNodesThatMatch(new TagNameFilter("td"),true);
System.out.println(tds.toString());
我没有得到任何输出,eclipse显示javaw.exe终止。
答案 0 :(得分:0)
将资源的路径传递给构造函数。
Parser parser = new Parser("index.html");
解析并打印此页面上的所有div:
Parser parser = new Parser("http://stackoverflow.com/questions/7293729/parsing-using-htmlparser/");
parser.setEncoding("UTF-8");
NodeList nl = parser.parse(null);
NodeList div = nl.extractAllNodesThatMatch(new TagNameFilter("div"),true);
System.out.println(div.toString());
parser.setInputHtml(String inputHtml)
没有按照您的想法行事。它将inputHtml
视为解析器的html输入。您可以使用构造函数将解析器指向html资源(file
或URL
)。
示例:
Parser parser = new Parser();
parser.setInputHTML("<div>Foo</div><div>Bar</div>");