【问题标题】:Passing a http url into SAXParser XML将 http url 传递到 SAXParser XML
【发布时间】:2012-01-04 04:46:16
【问题描述】:

我在将 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"

【问题讨论】:

  • foo.com/foo.xml 是否正确?
  • 不,我只是想缩短所有代码。错误的输出是我作为字符串的正确 URL。

标签: java xml url variables saxparser


【解决方案1】:

改用下面的

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

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

【讨论】:

  • 原来我的原始代码确实有效。我的 XML 链接上有一个字符错字。非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-22
  • 1970-01-01
  • 1970-01-01
  • 2017-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多