SAX的使用
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 SaxTest1 { public static void main(String[] args) throws { //step1: 获得SAX解析器工厂实例 SAXParserFactory factory =
//step2: 获得SAX解析器实例 SAXParser parser =
//step3:开始进行解析 parser.parse(new File("students.xml"),new MyHandler()); } }
class MyHandler extends DefaultHandler {
@Override public void startDocument() throws { System.out.println("startDocument"); }
@Override public void endDocument() throws { System.out.println("endDocument"); }
@Override public void startElement(String uri, Attributes attributes) throws { System.out.println("startElement"); }
@Override public void endElement(String uri, throws SAXException { System.out.println("endElement"); } } |
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 SaxTest2 { public static void main(String[] args) throws { SAXParserFactory factory =
SAXParser parser =
parser.parse(new File("students.xml"), new MyHandler2()); } }
class MyHandler2 extends DefaultHandler { private Stack<String> stack = new
private String name;
private String sex;
private String age;
@Override public void startElement(String uri, Attributes attributes) throws { stack.push(qName);
for (int i = 0; i < attributes.getLength(); i++) { String attrName = String attrValue =
System.out.println(attrName + "=" + } }
@Override public void characters(char[] ch, int start, int length) throws SAXException { String tag = stack.peek();
if ("name".equals(tag)) { name = new String(ch, start, length); } else if ("sex".equals(tag)) { sex = new String(ch, start, length); } else if ("age".equals(tag)) {
|