2011-09-03 63 views
-1
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终止。使用HTMLParser解析

+0

欢迎StackOverflow的。一个提示 - 如果你有问题,不要忘记提问。 ;)顺便说一句 - 你是指SourceForge的[HTML Parser](http://htmlparser.sourceforge.net/)吗? –

+0

-1请提出问题 – eon

回答

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资源(fileURL)。

实施例:

Parser parser = new Parser(); 
parser.setInputHTML("<div>Foo</div><div>Bar</div>"); 
+0

还是一样的错误.... –

+0

在这里工作很好。让我发表一个完整的例子。 –