Simple RSS reader USING JAVA (JDOM Parser)
import java.io.*;
import java.util.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
public class XMLController {
Hashtable theList;
DocumentBuilderFactory docBuilderFactory;
DocumentBuilder docBuilder;
Document doc;
NodeList listOfRssItems;
NodeList Channel;
XMLController(String xmlFile) {
try {
theList = new Hashtable();
docBuilderFactory = DocumentBuilderFactory.newInstance();
docBuilder = docBuilderFactory.newDocumentBuilder();
doc = docBuilder.parse(new File(xmlFile));
doc.getDocumentElement().normalize();
}
catch (Exception e) {
e.printStackTrace();
}
}
int noOfRssItems() {
return listOfRssItems.getLength();
}
/**
* getRssItemsFromXML
*
* @return ArrayList
*/
public String getRssItemsFromXML() {
String contenter = "";
if (doc != null) {
Channel = doc.getElementsByTagName("channel");
for (int ItemNo = 0; ItemNo < Channel.getLength(); ItemNo++) {
Node ChNode = Channel.item(ItemNo);
if (ChNode.getNodeType() == Node.ELEMENT_NODE) {
Element aElement = (Element) ChNode;
NodeList ItemNameList = aElement.getElementsByTagName("link");
Element ItemNameElement = (Element) ItemNameList.item(0);
NodeList ItemNamesList = ItemNameElement.getChildNodes();
String linker = ( (Node) ItemNamesList.item(0)).getNodeValue().trim();
ItemNameList = aElement.getElementsByTagName("title");
ItemNameElement = (Element) ItemNameList.item(0);
ItemNamesList = ItemNameElement.getChildNodes();
contenter = contenter + " " +
( (Node) ItemNamesList.item(0)).getNodeValue().trim() +
"
";
}
}
listOfRssItems = doc.getElementsByTagName("item");
for (int ItemNo = 0; ItemNo < noOfRssItems(); ItemNo++) {
Node ItemNode = listOfRssItems.item(ItemNo);
if (ItemNode.getNodeType() == Node.ELEMENT_NODE) {
Element aElement = (Element) ItemNode;
NodeList ItemNameList = aElement.getElementsByTagName("link");
Element ItemNameElement = (Element) ItemNameList.item(0);
NodeList ItemNamesList = ItemNameElement.getChildNodes();
String linker = ( (Node) ItemNamesList.item(0)).getNodeValue().trim();
ItemNameList = aElement.getElementsByTagName("title");
ItemNameElement = (Element) ItemNameList.item(0);
ItemNamesList = ItemNameElement.getChildNodes();
contenter = contenter + " " +
( (Node) ItemNamesList.item(0)).getNodeValue().trim() +
"
";
ItemNameList = aElement.getElementsByTagName("description");
ItemNameElement = (Element) ItemNameList.item(0);
ItemNamesList = ItemNameElement.getChildNodes();
contenter = contenter + "" +
( (Node) ItemNamesList.item(0)).getNodeValue().trim() + "
";
}
}
}
System.out.println(contenter);
return contenter;
}