我在将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"
答案 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()));