Huhu, bin mehr oder weniger Anfänger, konnte es bereits, jetzt jedoch nicht mehr^^
Habe keinen Plan mehr =( Aber egal.
Ich möchte ein RSS-Feed Programm machen, daher RSS-Feeds auszugeben. Ich schaffe es auch ohne Probleme die Feeds herunterzuladen und dann nur die Sachen im XML "<title>" auszugeben. Dann jedoch wenn ich noch "<description>" machen muss geht nix mehr, sobald ich mit einer Liste arbeite.
Code: (RssFeed.java)
Code: (News.java)
Ausgabe:
Hoffe jemand kann mir helfen =)
Greetz
PS: First Post! =)
Habe keinen Plan mehr =( Aber egal.
Ich möchte ein RSS-Feed Programm machen, daher RSS-Feeds auszugeben. Ich schaffe es auch ohne Probleme die Feeds herunterzuladen und dann nur die Sachen im XML "<title>" auszugeben. Dann jedoch wenn ich noch "<description>" machen muss geht nix mehr, sobald ich mit einer Liste arbeite.
Code: (RssFeed.java)
Code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package rssfeed;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
/**
*
* @author ~Z~
*/
public class RssFeed {
/**
* @param args the command line arguments
*/
List myNews;
Document doc;
public RssFeed(){
myNews = new ArrayList();
}
public void runExample(){
parseXML("http://ticker.gulli.com/rss");
parseXML("http://www.20min.ch/rss/rss.tmpl?type=channel&get=9");
printData();
}
private void parseXML(String NewURL){
try {
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
URL url = new URL(NewURL);
Document doc = builder.parse(url.openStream());
NodeList nodes = doc.getElementsByTagName("item");
if(nodes != null && nodes.getLength() > 0){
for (int a = 0; a < nodes.getLength(); a++) {
Element el = (Element)nodes.item(a);
String title = getTextValue(el,"title");
String description = getTextValue(el,"description");
News i = new News(title,description);
myNews.add(i);
}
}
} catch(ParserConfigurationException pce) {
pce.printStackTrace();
}catch(SAXException se) {
se.printStackTrace();
}catch(IOException ioe) {
ioe.printStackTrace();
}
}
private String getTextValue(Element ele, String tagName){
String textVal = null;
NodeList nodes = ele.getElementsByTagName(tagName);
if(nodes != null && nodes.getLength() > 0){
Element el = (Element)nodes.item(0);
textVal = el.getFirstChild().getNodeValue();
}
return textVal;
}
private void printData(){
System.out.println("Einträge: '" + myNews.size() + "'");
Iterator it = myNews.iterator();
while(it.hasNext()) {
Object i = it.next();
System.out.println(i);
}
}
public static void main(String[] args){
RssFeed dpe = new RssFeed();
dpe.runExample();
System.out.println();
}
}
Code: (News.java)
Code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package rssfeed;
/**
*
* @author ~Z~
*/
class News {
private String title;
private String description;
public News(String title, String description) {
this.title = title;
this.description = description;
}
}
Ausgabe:
Code:
run:
Einträge: '45'
rssfeed.News@46ae506e
rssfeed.News@5e228a02
rssfeed.News@2d92b996
rssfeed.News@7bd63e39
rssfeed.News@2e8f4fb3
rssfeed.News@42b988a6
rssfeed.News@22ba6c83
rssfeed.News@7d2a1e44
rssfeed.News@5829428e
rssfeed.News@7cd0a5d9
rssfeed.News@66388993
rssfeed.News@9d04653
rssfeed.News@48b8f82d
rssfeed.News@67ad77a7
rssfeed.News@2d8aaa1e
rssfeed.News@6aa6aeed
rssfeed.News@6526804e
rssfeed.News@42b1b4c3
rssfeed.News@20d2906a
rssfeed.News@60072ffb
rssfeed.News@77df38fd
rssfeed.News@6016a786
rssfeed.News@6f507fb2
rssfeed.News@defb836
rssfeed.News@7526e85f
rssfeed.News@4d61f10f
rssfeed.News@59193779
rssfeed.News@68916a2
rssfeed.News@122ce908
rssfeed.News@4277158a
rssfeed.News@1827391d
rssfeed.News@3716ab4e
rssfeed.News@3148aa23
rssfeed.News@1999f91c
rssfeed.News@4bb1aa65
rssfeed.News@7d29f3b5
rssfeed.News@4d3f3045
rssfeed.News@6f7a29a1
rssfeed.News@3d434234
rssfeed.News@aaf8358
rssfeed.News@8d80be3
rssfeed.News@1ff4689e
rssfeed.News@67006d75
rssfeed.News@4d125127
rssfeed.News@6d8dfef8
BUILD SUCCESSFUL (total time: 4 seconds)
Hoffe jemand kann mir helfen =)
Greetz
PS: First Post! =)