使用HTMLParser解析
问题描述:
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解析
答
将路径传递给构造函数。
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>");
+0
还是一样的错误.... –
+0
在这里工作很好。让我发表一个完整的例子。 –
欢迎StackOverflow的。一个提示 - 如果你有问题,不要忘记提问。 ;)顺便说一句 - 你是指SourceForge的[HTML Parser](http://htmlparser.sourceforge.net/)吗? –
-1请提出问题 – eon