There are following different kinds of parser depending on which features are set:
There are two key methods: next() and nextToken(). While next() provides access to high level parsing events, nextToken() allows access to lower level tokens.
The current event state of the parser can be determined by calling the getEventType() method. Initially, the parser is in the START_DOCUMENT state.
The method next() advances the parser to the next event. The int value returned from next determines the current parser state and is identical to the value returned from following calls to getEventType ().
The following event types are seen by next()
after first next() or nextToken() (or any other next*() method) is called user application can obtain XML version, standalone and encoding from XML declaration in following ways:
import java.io.IOException; import java.io.StringReader; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException.html; import org.xmlpull.v1.XmlPullParserFactory; public class SimpleXmlPullApp { public static void main (String args[]) throws XmlPullParserException, IOException { XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory.setNamespaceAware(true); XmlPullParser xpp = factory.newPullParser(); xpp.setInput( new StringReader ( "<foo>Hello World!</foo>" ) ); int eventType = xpp.getEventType(); while (eventType != xpp.END_DOCUMENT) { if(eventType == xpp.START_DOCUMENT) { System.out.println("Start document"); } else if(eventType == xpp.END_DOCUMENT) { System.out.println("End document"); } else if(eventType == xpp.START_TAG) { System.out.println("Start tag "+xpp.getName()); } else if(eventType == xpp.END_TAG) { System.out.println("End tag "+xpp.getName()); } else if(eventType == xpp.TEXT) { System.out.println("Text "+xpp.getText()); } eventType = xpp.next(); } } }
The above example will generate the following output:
Start document Start tag foo Text Hello World! End tag foo
For more details on API usage, please refer to the quick Introduction available at http://www.xmlpull.org @see #defineEntityReplacementText @see #getName @see #getNamespace @see #getText @see #next @see #nextToken @see #setInput @see #FEATURE_PROCESS_DOCDECL @see #FEATURE_VALIDATION @see #START_DOCUMENT @see #START_TAG @see #TEXT @see #END_TAG @see #END_DOCUMENT @author Stefan Haustein @author Aleksander Slominski
|
|
|
|
|
|