package de.itemis.itemisapp; import java.io.Reader; import java.util.ArrayList; import java.util.List; import org.simpleframework.xml.Element; import org.simpleframework.xml.ElementList; import org.simpleframework.xml.Root; import org.simpleframework.xml.Serializer; import org.simpleframework.xml.core.Persister; import de.itemis.base.GenericListContentProvider; public class BlogpostsProvider extends GenericListContentProvider<BlogItem> { private static final long serialVersionUID = 1L; public BlogpostsProvider(String feedUrl) { super(feedUrl); } @Root(strict = false) public static class Rss { @ElementList(inline = true, entry = "channel") private List<Channel> channels = new ArrayList<Channel>(); public List<Channel> getChannels() { return channels; } } @Root(strict = false) public static class Channel { @ElementList(inline = true, entry = "item") private List<BlogItem> blogItems = new ArrayList<BlogItem>(); public List<BlogItem> getBlogItems() { return blogItems; } } @Override protected List<BlogItem> extractItems(Reader reader) throws Exception { Serializer serializer = new Persister(); Rss root = serializer.read(Rss.class, reader); return root.getChannels().get(0).getBlogItems(); } }