XML StAX Parser in Java
August 27, 2010 Leave a comment
The same simple xml
<?xml version="1.0" encoding="UTF-8"?> <persons> <person> <name>debraj</name> <age unit="year">23</age> <sex>male</sex> <location>india</location> </person> <person> <name>ritu</name> <age unit="year">33</age> <sex>female</sex> <location>india</location> </person> </persons>
and the StAX parsing
XMLInputFactory inputFactory = XMLInputFactory.newInstance(); XMLStreamReader streamReader = inputFactory.createXMLStreamReader(is); while (streamReader.hasNext()) { streamReader.next(); if (streamReader.getEventType() == XMLStreamReader.START_ELEMENT) { if (streamReader.getLocalName() == "person") { Person p = new Person(); while (streamReader.hasNext()) { streamReader.next(); if (streamReader.getEventType() == XMLStreamReader.START_ELEMENT) { if (streamReader.getLocalName() == "name") { p.setName(streamReader.getElementText()); } if (streamReader.getLocalName() == "age") { p.setAge(Integer.parseInt(streamReader.getElementText())); } if (streamReader.getLocalName() == "sex") { p.setSex(streamReader.getElementText()); } if (streamReader.getLocalName() == "location") { p.setLocation(streamReader.getElementText()); break; } } } } } }
http://tutorials.jenkov.com/java-xml/stax-xmlstreamreader.html
http://javaboutique.internet.com/tutorials/stax/index3.html