将http url传递到SAXParser XML

时间:2012-01-04 04:46:17

标签: java xml url variables saxparser

我在将XML页面作为变量传递到SAXParser时遇到问题。我下面的代码获取了一个URL并尝试将其传递给SAXParser,但是我收到了一个错误。

但是,当我明确定义URL(而不是使用变量)时,如果工作正常。有谁没有为什么这是失败的。

感谢任何可能提供帮助的人。我已经修剪了代码以供查看。

public class Parser extends DefaultHandler
  private String link;

    public void parseDocument() {

        SAXParserFactory spf = SAXParserFactory.newInstance();
        try {

            SAXParser sp = spf.newSAXParser();

            link = coll.getGcollId(id);  // this successfully gets a string (url) to link to xml page over http string          
            //parse the file and also register this class for call backs
            sp.parse(link, this);  // when I run this code this line gets a "java.io.FileNotFoundException: http://foo.com/foo.xml"

1 个答案:

答案 0 :(得分:3)

请改用以下内容

SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
String link = coll.getGcollId(id);
URL linkURL = new URL(link);

sp.parse(new InputSource(url.openStream()));