2011-09-03 62 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

在這裏工作很好。讓我發表一個完整的例子。 –