所以我试图评估几个HTML解析器,并尝试了JTidy。试图解析这个URL:
http://htmlcleaner.sourceforge.net/doc/org/htmlcleaner/TagNode.html
给出了这些错误:
第1行第56,258行 - 错误:缺少'>'标签结束
第1行第56,258列 - 错误:无法识别!
它说第一行是因为它将其作为一行读取,但这是JTidy呕吐/失败的行:
<li>//div[last() >= 4]//./div[position() = last()])[position() > 22]//li[2]//a</li>
我的代码非常简单:
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.tidy.Tidy;
Document document = tidy.parseDOM(new ByteArrayInputStream(this.getHtml().getBytes()), null);
NodeList anchorTags = document.getElementsByTagName("A");
这只是JTidy中的一个错误还是我做错了什么?到目前为止,我已经评估了大约6个人,并且没有一个人在这个页面上遇到过问题。