[jdom-interest] Displaying a JDOM objects data content - help needed
    sal achhala 
    sal at mellowmoose.org
       
    Thu Mar 10 04:04:51 PST 2005
    
    
  
I have a problem with using JDOM to output contents of an xml file.
I’ve used the rome api to output a rss feed as a JDOM object – this 
works fine. However I want to output just the contents of the Jdom obect 
(minus the xml tags) but im having problems with the following code.
Code below outputs a jdom object, using the rome api, and its copied 
into a jdom document
Document doc = outputjdom.outputJDom(feed);
Next im using the doc.toString() method ( part of jdom) to see if the 
document holds the xml file.
System.out.println(doc.toString());
However, it doesn’t display the Document contents. where am I going 
wrong ? and what do I need to do to start outputing the contents ? I 
think the problem lies with the way im assigning the ouputted jdom 
object to a jdom document here:
Document doc = outputjdom.outputJDom(feed);
any ideas would be appreciated.
console output when the code is run:
init:
deps-jar:
compile:
run:
[Document: No DOCTYPE declaration, Root is [Element: <rss/>]]
content size is 1
BUILD SUCCESSFUL (total time: 2 seconds)
/*
* Created on Feb 23, 2005
*/
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;
import com.sun.syndication.io.SyndFeedOutput;
import java.io.File;
import java.io.StringReader;
import java.net.URL;
import org.jdom.output.XMLOutputter;
import org.jdom.*;
import org.jdom.Document;
import org.jdom.input.SAXBuilder;
import java.io.*;
import java.util.*;
/**
  * It Reads and prints any RSS/Atom feed type.
*
  */
public class FeedReader {
     public static void main(String[] args) {
         try {
             URL feedUrl = new URL(args[0]);
     //to read in & parse the rss/atom feed frm the internet
     //based on the ROME API
             SyndFeedInput input = new SyndFeedInput();
//syndfeed is a bean interface which conatins the entire rss feed for 
//the given URL
         SyndFeed feed = input.build(new XmlReader(feedUrl));
//prepare output of the retrieved feed as a Jdom object, xml string or 
//write to a file
         SyndFeedOutput outputjdom = new SyndFeedOutput();
// will output feed as jdom
             Document doc = outputjdom.outputJDom(feed);
//doc.toString() is part of jdom – should output the document to console 
        System.out.println(doc.toString());
          Element root = doc.getRootElement();
     System.out.println("content size is "+root.getContentSize()); 
         }//end try
         catch (Exception ex) {
             ex.printStackTrace();
             System.out.println("ERROR: "+ex.getMessage());
         }//catch
     }//end main
}//end class
    
    
More information about the jdom-interest
mailing list