Java Sax Parser only returning one line of a tag

shimi

New Member
I am trying to parse the description tag in the xml but it only outputs one line: \[code\]description: <img src=http://www.ovations365.com/sites/ovations365.com/images/event/441705771/sparkswebsite_medium.jpg alt="SPARKS: Understanding Energy">\[/code\]That is only a small part of the text in the CDATA and I'm trying to output the description for multiple items. Why can't I get the whole CDATA?The XML is located: http://feeds.feedburner.com/Events-Ovations365\[code\]package com.example.ovations_proj;import java.util.ArrayList;import java.util.List;import java.util.StringTokenizer;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;import com.example.ovations_proj.RssItem;public class RssParseHandler extends DefaultHandler { private List<RssItem> rssItems; // Used to reference item while parsing private RssItem currentItem; // Parsing title indicator private boolean parsingTitle; // Parsing link indicator private boolean parsingLink; private boolean parsingDes; public RssParseHandler() { rssItems = new ArrayList<RssItem>(); } public List<RssItem> getItems() { return rssItems; } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { System.out.println("Start Element :" + qName); if ("item".equals(qName)) { //item currentItem = new RssItem(); } else if ("title".equals(qName)) { //title parsingTitle = true; } else if ("link".equals(qName)) { //link parsingLink = true; }else if ("description".equals(qName) ) { //description parsingDes = true; } } @Override public void endElement(String uri, String localName, String qName) throws SAXException { System.out.println("End Element :" + qName); if ("item".equals(qName)) { rssItems.add(currentItem);//item currentItem = null; } else if ("title".equals(qName)) {//title parsingTitle = false; } else if ("link".equals(qName)) {//link parsingLink = false; } else if ("description".equals(qName) ) { //description parsingDes = false; } } @Override public void characters(char[] ch, int start, int length) throws SAXException { if (parsingTitle) { if (currentItem != null){ currentItem.setTitle(new String(ch, start, length)); } } else if (parsingLink) { if (currentItem != null) { currentItem.setLink(new String(ch, start, length)); parsingLink = false; } } else if (parsingDes) { if (currentItem != null) { currentItem.setDes(new String(ch, start, length)); System.out.println("description: " + currentItem.getDes()); parsingDes = false; } } }}\[/code\]
 
Back
Top