測試源碼
package com.david.test;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
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;
public class SaxDecode{
public SaxDecode(String fileName){
try {
SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
SAXParser saxParser = saxParserFactory.newSAXParser();
saxParser.parse(new File(fileName), new MySAXHandler());
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class MySAXHandler extends DefaultHandler{
@Override
public void startDocument() throws SAXException {
System.out.println("start document");
}
@Override
public void endDocument() throws SAXException {
System.out.println("end document");
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
System.out.println(qName);
for(int i=0;i<attributes.getLength();i++){
System.out.println(attributes.getQName(i)+" "+attributes.getValue(i));
}
}
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
System.out.println(qName);
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
String value = new String(ch,start,length);
if(!value.trim().equals(""))
System.out.println(value);
}
}