如何将网页的Html源转换为java中的org.w3c.dom.Document?

时间:2010-02-19 16:34:29

标签: java html

如何在Java中将网页的Html源转换为org.w3c.dom.Document?

3 个答案:

答案 0 :(得分:2)

我建议http://about.validator.nu/htmlparser/,它实现了HTML5解析算法。 Firefox正在用这个替换自己的HTML解析器。

答案 1 :(得分:2)

我刚刚玩JSoup,这是一个非常棒的Java HTML解析器,有点像jQuery。真的很容易使用。

答案 2 :(得分:1)

这实际上是一个相当困难的事情,因为任意HTML网页有时会出现格式错误(主要浏览器相当宽容)。您可能需要查看swing html parser,我从未尝试过,但看起来它可能是最佳选择。你也可以尝试一下这方面的内容并处理可能出现的任何解析异常(虽然我只是尝试过这个xml):

import java.io.File;
import org.w3c.dom.Document;
import org.w3c.dom.*;

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException; 

...

try {
    DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
    Document doc = docBuilder.parse (InputStreamYouBuiltEarlierFromAnHTTPRequest);
}
catch (ParserConfigurationException e)
{
    ...
}
catch (SAXException e)
{
    ...
}
catch (IOException e)
{
    ...
}

...