SAX解析XML文件实例代码

时间:2023-03-10 08:16:37
SAX解析XML文件实例代码
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; 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 XMLTest extends DefaultHandler { public void startDocument() throws SAXException{
System.out.println("<?xml version='1.0' encoding='UTF-8' ?>");
}
public void processingInstruction(String target ,String data) throws SAXException{
System.out.println("<?"+target+" "+data+"?>");
}
public void startElement(String uri,String localName,
String qName,Attributes attrs)throws SAXException {
System.out.print("<"+qName);
int len=attrs.getLength();
for(int i=0;i<len;i++){
System.out.print(" ");
System.out.print(attrs.getQName(i));
System.out.print("=\"");
System.out.print(attrs.getValue(i));
System.out.print("\"");
}
System.out.print(">");
List list=new ArrayList();
}
public void characters(char[] ch,int start,
int length)throws SAXException {
System.out.println(new String(ch,start,length)); }
public void endElement(String uri,String localName,
String qName)throws SAXException {
System.out.println("</"+qName+">"); }
public static void main(String[] args) {
SAXParserFactory sdf=SAXParserFactory.newInstance();
SAXParser sp=null;
try {
sp=sdf.newSAXParser();
//aa.xml里面必须有数据,可以解析出来里面的内容
File f=new File("c:/aa.xml");
sp.parse(f,new XMLTest());
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}