SAX解析
- 核心类:SAXParserFactory SAXParser DefaultHandler
- 步骤:
//创建工厂类实例
SAXParserFactory factory = SAXParserFactory.newInstance();
//获取解析器类实例
SAXParser parser = factory.newSAXParser();
//解析xml文档
//sax的解析的全部操作都是通过处理器类来实现
//使用sax解析我们需要自己创建一个处理器类
parser.parse("stu.xml", new MyHandler());
处理器类中的方法:
startDocument() --> 解析开始时调用
endDocument() --> 解析结束时调用
startElement(String uri, String localName, String qName, Attributes attributes)
- 解析开始标签时调用
- qName 标签名
- attributes 当前标签中所有属性
endElement(String uri, String localName, String qName)
- 解析结束标签是调用
- qName 标签名
characters(char[] ch, int start, int length)
- 解析文本内容时调用
- 会将文本内容以char数组的形式返回,我们可以使用一个String的构造器将数组转换为字符串。
- 核心类:SAXParserFactory SAXParser DefaultHandler
- 步骤:
//创建工厂类实例
SAXParserFactory factory = SAXParserFactory.newInstance();
//获取解析器类实例
SAXParser parser = factory.newSAXParser();
//解析xml文档
//sax的解析的全部操作都是通过处理器类来实现
//使用sax解析我们需要自己创建一个处理器类
parser.parse("stu.xml", new MyHandler());
处理器类中的方法:
startDocument() --> 解析开始时调用
endDocument() --> 解析结束时调用
startElement(String uri, String localName, String qName, Attributes attributes)
- 解析开始标签时调用
- qName 标签名
- attributes 当前标签中所有属性
endElement(String uri, String localName, String qName)
- 解析结束标签是调用
- qName 标签名
characters(char[] ch, int start, int length)
- 解析文本内容时调用
- 会将文本内容以char数组的形式返回,我们可以使用一个String的构造器将数组转换为字符串。