Jaxp中sax方式是边读边解析的,它不需要将整个文档邹菁惨挣加载到内存中,所以没有内存溢出的问题。但是jaxp中的sax方式只能用来查询。下面完成例子:如下图所示的xml文件中,得到xml的标签和内容。
方法/步骤
1、首先第一步要获取SAX解析器工厂,通过newInstance()方法获取。
2、然后利用工厂创建sax的解析器。
3、解析器调用parse(path,handler)来解析文档。其中path是资源文件,而handler是我们需要自己编写创建的处理器。
4、创建一个类继承DefaultHandler,然后重写三个方法:startElement、characters、endElement三个方法,这是三个比较重要、用得较多的方法。
5、凡是解析到开始标签的时候,默认调用startElement(Stringuri,StringlocalName,StringqName,Attributesattributes)
6、当解析到文本内容的时候,会调用chara罕铞泱殳cters(char[]ch,intstart,intlength)方法。我们可以利用它的三个参数来创建一个字符串,这个字符串的值就是文本内容了。
7、当解析到结束标签的时候,会调用endElement(Stringuri,StringlocalName,StringqName)方法,它跟开始标签差不多,只不过结束是没有属性的。
8、在main方法中调用、然后运行,查看结果是否正确。