1 38 39 package samples.stax; 40 44 45 import java.io.File ; 46 import java.io.FileInputStream ; 47 import java.io.BufferedInputStream ; 48 import java.io.InputStream ; 49 import java.io.FileReader ; 50 import javax.xml.stream.*; 51 import javax.xml.stream.events.* ; 52 import javax.xml.namespace.QName ; 53 import javax.xml.stream.XMLStreamReader; 54 import javax.xml.stream.XMLEventReader; 55 import javax.xml.stream.XMLStreamException; 56 57 import com.sun.xml.fastinfoset.stax.StAXDocumentParser; 58 import com.sun.xml.fastinfoset.stax.StAXEventReader; 59 import samples.common.Util; 60 61 62 68 public class EventReader{ 69 private File input; 70 InputStream document = null; 71 XMLStreamReader streamReader = null; 72 73 74 public EventReader() { 75 } 76 81 public static void main(String [] args) { 82 if (args.length < 1 || args.length > 2) { 83 displayUsageAndExit(); 84 } 85 EventReader eventReader = new EventReader(); 86 try { 87 eventReader.readFIDoc(args[0]); 88 } catch (Exception e) { 89 e.printStackTrace(); 90 } 91 } 92 93 97 public void readFIDoc(String filename) throws Exception { 98 input = new File (filename); 99 document= new BufferedInputStream (new FileInputStream (input)); 100 101 XMLStreamReader streamReader = new StAXDocumentParser(document); 102 XMLEventReader r = new StAXEventReader(streamReader); 103 int count = 0; 104 System.out.println("Reading "+ input.getName() + ": \n"); 105 while(r.hasNext()) { 106 count++; 107 XMLEvent e = r.nextEvent(); 108 System.out.println(count + ": " + Util.getEventTypeString(e.getEventType()) + " " + e.toString()); 109 } 110 } 111 112 private static void displayUsageAndExit() { 113 System.err.println("Usage: ant EventReader or samples.stax.EventReader FI_file"); 114 System.exit(1); 115 } 116 117 } 118 | Popular Tags |