如何下载网页的源代码,然后将其作为一个整体添加到SAX解析器中?

时间:2010-02-12 04:48:40

标签: java xml string parsing

我只想将源代码下载。然后将XML(当前是一个字符串)粘贴到解析器中。

2 个答案:

答案 0 :(得分:0)

您可能希望使用Apache Jakarta Commons HttpClient建立连接,然后使用像XercesJAXP这样的解析器,或者您有什么要读取输入流并解析它

在HttpClient方面,您通常会创建一个方法(例如,GetMethod),使用HttpClient实例为其提供服务,然后询问方法的响应主体。这个tutorial应该让你滚动。

在解析器方面,您可能想要了解SAX和DOM解析器的差异,因为它们对它们的使用方式有所了解,并且根据数据的大小,内存限制具有略微不同的强度,以及您要对文档进行的查询类型。

答案 1 :(得分:0)

使用SAX解析器意味着您有一个org.xml.sax.ContentHandler可以接受来自解析器的回调。我想知道ContentHandler是什么以及你打算如何使用回调。

您可以将StringReader包装在字符串周围,并将其传递给null转换,该转换在StreamSource和SAXResult之间进行转换,如下所示:

void parseStringWithSAX (String xmlString, ContentHandler handler)
    throws TransformerConfigurationException, TransformerException  {
    Source source = new StreamSource (new StringReader (xmlString));
    Result result = new SAXResult (handler);
    TransformerFactory tf = TransformerFactory.newInstance();
    Transformer t = tf.newTransformer();
    t.transform(source, result);
}

阿里。