01: /*
02: * (C) Copyright 2002-2003, Andy Clark. All rights reserved.
03: *
04: * This file is distributed under an Apache style license. Please
05: * refer to the LICENSE file for specific details.
06: */
07:
08: package sample;
09:
10: import org.apache.xerces.xni.parser.XMLInputSource;
11:
12: import org.cyberneko.pull.XMLEvent;
13: import org.cyberneko.pull.XMLPullParser;
14: import org.cyberneko.pull.event.CharactersEvent;
15: import org.cyberneko.pull.event.ElementEvent;
16: import org.cyberneko.pull.parsers.Xerces2;
17:
18: /**
19: * Sample program to test the pull parser.
20: *
21: * @author Andy Clark
22: *
23: * @version $Id$
24: */
25: public class TestPullParser {
26:
27: //
28: // MAIN
29: //
30:
31: /** Main program. */
32: public static void main(String[] argv) throws Exception {
33:
34: // create parser and set input source
35: XMLPullParser parser = new Xerces2();
36: XMLInputSource source = new XMLInputSource(null,
37: "data/pull/test03.xml", null);
38: parser.setInputSource(source);
39:
40: // iterate document events
41: XMLEvent event;
42: while ((event = parser.nextEvent()) != null) {
43: if (event.type == XMLEvent.ELEMENT) {
44: ElementEvent elementEvent = (ElementEvent) event;
45: if (elementEvent.start) {
46: System.out.println("("
47: + elementEvent.element.rawname);
48: } else {
49: System.out.println(")"
50: + elementEvent.element.rawname);
51: }
52: } else if (event.type == XMLEvent.CHARACTERS) {
53: CharactersEvent charsEvent = (CharactersEvent) event;
54: System.out.println("\"" + charsEvent.text);
55: }
56: }
57:
58: // free resources
59: parser.cleanup();
60:
61: } // main(String[])
62:
63: } // class TestPullParser
|