import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
/**
* Efficient event based XML parsing using a SAX parser
*/
class SaxRetrieval {
/**
* Parse specified file using Sax Parser.
* @param fileName
*/
public static void parseFile(String fileName) {
try {
// Instantiate Sax Parser.
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
// Setup handler for Sax Parser.
DefaultHandler handler = new DefaultHandler() {
boolean employee = false;
boolean name = false;
boolean salary = false;
// Invoked when the Sax Parser hits a start tag.
public void startElement(String uri, String localName,String qName,
Attributes attributes) throws SAXException {
if (qName.equalsIgnoreCase("EMPLOYEE") ) {
employee = true;
}
if (qName.equalsIgnoreCase("NAME") ) {
name = true;
}
if (qName.equalsIgnoreCase("SALARY")) {
salary = true;
}
}
// Invoked for each text node in a tag.
public void characters(char ch[], int start, int length) throws SAXException {
if (name && employee) {
System.out.println("Name : " + new String(ch, start, length));
}
if (salary) {
System.out.println("Salary : " + new String(ch, start, length));
salary = false;
}
}
public void endElement(String uri, String localName,String qName) throws SAXException {
if(qName.equalsIgnoreCase("employee")){
employee = false;
}
if(qName.equalsIgnoreCase("name") ) {
name = false;
}
}
};
saxParser.parse(fileName, handler);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String argv[]) {
SaxRetrieval.parseFile("activity.xml");
}
}
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
/**
* Efficient event based XML parsing using a SAX parser
*/
class SaxRetrieval {
/**
* Parse specified file using Sax Parser.
* @param fileName
*/
public static void parseFile(String fileName) {
try {
// Instantiate Sax Parser.
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
// Setup handler for Sax Parser.
DefaultHandler handler = new DefaultHandler() {
boolean employee = false;
boolean name = false;
boolean salary = false;
// Invoked when the Sax Parser hits a start tag.
public void startElement(String uri, String localName,String qName,
Attributes attributes) throws SAXException {
if (qName.equalsIgnoreCase("EMPLOYEE") ) {
employee = true;
}
if (qName.equalsIgnoreCase("NAME") ) {
name = true;
}
if (qName.equalsIgnoreCase("SALARY")) {
salary = true;
}
}
// Invoked for each text node in a tag.
public void characters(char ch[], int start, int length) throws SAXException {
if (name && employee) {
System.out.println("Name : " + new String(ch, start, length));
}
if (salary) {
System.out.println("Salary : " + new String(ch, start, length));
salary = false;
}
}
public void endElement(String uri, String localName,String qName) throws SAXException {
if(qName.equalsIgnoreCase("employee")){
employee = false;
}
if(qName.equalsIgnoreCase("name") ) {
name = false;
}
}
};
saxParser.parse(fileName, handler);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String argv[]) {
SaxRetrieval.parseFile("activity.xml");
}
}
No comments:
Post a Comment