john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

XMLReader INCOMPLETE

package net.kittyandbear.xml;
//2012-03-18 johnpfeiffer  weirdly hasNext is throwing an EOFException

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.XMLEvent;

public class XMLReader
{
    private XMLEventReader eventReader;
    private String XMLAsString;

    XMLReader( InputStream in )
    {
        System.out.println( "starting constructor()" );
        try{
            boolean canContinue = false;
            XMLInputFactory inputFactory = XMLInputFactory.newInstance();
            eventReader = inputFactory.createXMLEventReader( in );

            StringBuilder result = new StringBuilder();

            XMLEvent event = null;

            //canContinue = eventReader.hasNext();
            int i=0;
                while( eventReader.hasNext() )
                {
                    event = eventReader.nextEvent();
                    result.append( event.toString() );
                }
                XMLAsString = result.toString();

            System.out.println( "finishing constructor()" );

        }catch( XMLStreamException xmlse )
        {       xmlse.printStackTrace();
        }finally{
            try{
                if( in != null)
                {       in.close();
                }
            }catch( IOException ioe )
            {       ioe.printStackTrace();
            }
        }
    }

    String getString()
    {
        return XMLAsString;
    }

    void parseXML()
    {

        /*Item item = null;

            while (eventReader.hasNext()) {
                XMLEvent event = eventReader.nextEvent();

                if (event.isStartElement()) {
                    StartElement startElement = event.asStartElement();
                    // If we have a item element we create a new item
                    if (startElement.getName().getLocalPart() == (ITEM)) {
                        item = new Item();
                        // We read the attributes from this tag and add the date
                        // attribute to our object
                        Iterator<Attribute> attributes = startElement
                                .getAttributes();
                        while (attributes.hasNext()) {
                            Attribute attribute = attributes.next();
                            if (attribute.getName().toString().equals(DATE)) {
                                item.setDate(attribute.getValue());
                            }

                        }
                    }

                    if (event.isStartElement()) {
                        if (event.asStartElement().getName().getLocalPart()
                                .equals(MODE)) {
                            event = eventReader.nextEvent();
                            item.setMode(event.asCharacters().getData());
                            continue;
                        }
                    }
                    if (event.asStartElement().getName().getLocalPart()
                            .equals(UNIT)) {
                        event = eventReader.nextEvent();
                        item.setUnit(event.asCharacters().getData());
                        continue;
                    }

                    if (event.asStartElement().getName().getLocalPart()
                            .equals(CURRENT)) {
                        event = eventReader.nextEvent();
                        item.setCurrent(event.asCharacters().getData());
                        continue;
                    }

                    if (event.asStartElement().getName().getLocalPart()
                            .equals(INTERACTIVE)) {
                        event = eventReader.nextEvent();
                        item.setInteractive(event.asCharacters().getData());
                        continue;
                    }
                }
                // If we reach the end of an item element we add it to the list
                if (event.isEndElement()) {
                    EndElement endElement = event.asEndElement();
                    if (endElement.getName().getLocalPart() == (ITEM)) {
                        items.add(item);
                    }
                }

            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (XMLStreamException e) {
            e.printStackTrace();
        }
        return items;

                switch( event.getEventType() )
                {
                    case XMLStreamConstants.START_DOCUMENT:
                        StartDocument startDocument = (StartDocument) event;
                    break;
                    case XMLStreamConstants.START_ELEMENT:
                        StartElement startElement = event.asStartElement();
                    break;

     */

    }

} //end class

  • « FileUtilities
  • javascript.js »

Published

Mar 19, 2012

Category

java-classes

~229 words

Tags

  • classes 92
  • incomplete 22
  • java 252
  • xml 22
  • xmlreader 1