sex不能实现增删改操作,只能做查询操作
xml示例:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><person> <student> <name>张三</name> <age>19</age> </student> <student> <name>李四</name> <age>20</age> </student> </person>sax解析代码:
package analysis; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; /** * jaxp中sax方式解析xml * @author My World * */ public class Sax_Person { public static void main(String[] args) { /** * 1、创建解析器工厂 * 2、用解析器工厂创建解析器 * 3、调用parse()方法 * * 4、自定义一个类继承DefaultHeadler * 5、重写DefaultHeadler中的那三个方法 */ try { SAXParserFactory parserFactory = SAXParserFactory.newInstance(); SAXParser parser = parserFactory.newSAXParser(); parser.parse("src/analysis/Person.xml", new MyDefaultHeadler()); } catch (Exception e) { e.printStackTrace(); } } }重写的DefaultHeadler:
package analysis; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class MyDefaultHeadler extends DefaultHandler{ @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { //System.out.println("start:"+qName); System.out.print("<"+qName+">"); } @Override public void characters(char[] ch, int start, int length) throws SAXException { //System.out.println("text:"+new String(ch, start, length)); System.out.print(new String(ch, start, length)); } @Override public void endElement(String uri, String localName, String qName) throws SAXException { //System.out.println("end:"+qName); System.out.print("</"+qName+">"); } }