Android应用程序用于获取和解析xml

时间:2011-06-14 05:34:24

标签: android xml

我为Android应用程序编写了代码以获取和解析xml。但是我无法从另一个类调用方法getfeed()

代码如下:

public class RssReader extends Activity {
    private RssFeed feed =null;
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        feed=new getFeed(Url);
    }
}

下面给出的另一个课程

private RssFeed getFeed(String urlToRssFeed)
{
    try
    {
        URL url= new URL(urlToRssFeed);
        SAXParserFactory factory =SAXParserFactory.newInstance();
        SAXParser parser=factory.newSAXParser();
        XMLReader xmlreader=parser.getXMLReader();
        RssHandler theRSSHandler=new RssHandler();
        xmlreader.setContentHandler(theRSSHandler);
        InputSource is=new InputSource(url.openStream());
        xmlreader.parse(is);
        return theRSSHandler.getFeed();
    }
    catch (Exception ee)
    {
        return null;
    }

}

3 个答案:

答案 0 :(得分:0)

  1. getFeed是一类吗?如果是,它是否扩展/实施RssFeed?如果没有,并且它是一种方法,你应该摆脱getFeed前面的new运算符,因为它无效。
  2. Url在哪里定义?我在列出的代码中没有看到它......
  3. 你期望这个Activity做什么吗?根据{{​​1}}的作用,你的代码似乎没有做任何事情(除了解析一些xml,但它对方法输出没有任何作用)。也许你只是坚持第一个问题但是......

答案 1 :(得分:0)

如果getFeed()在您的班级RssFeed中(确保它是公开的),那么请使用:

而不是feed=new getFeed(Url);
feed = new RssFeed();
feed.getFeed(Url);

您可能想查看有关Android上RSS阅读的question

答案 2 :(得分:0)

由于调用方法和方法定义都在不同的类

private RssFeed getFeed(String urlToRssFeed)

此处访问说明符为private。在课堂外无法访问私有方法。所以将访问说明符更改为public。 写 public RssFeed getFeed(String urlToRssFeed)代替private RssFeed getFeed(String urlToRssFeed)

由于 迪帕克