1、首先我们要编写的处理类MyHandler2,让它继承DefaultHandler,并重写startElem髫潋啜缅ent(String uri, String localName, String qName, Attributes attributes)characters(char[] ch, int start, int length)endElement(String uri, String localName, String qName)三个方法。
2、然后定义两个全局变量:flag和countflag主要用来判断是否是解析书名标签。而count用来判断是哪一个本书的。
3、在startElement(String uri, String localName, String qNa罪焐芡拂me, Attributes attributes)方法中,我们通过“书名”.equals(qName) 来判断是否解析到书名标签。当解析到书名的标签的时候设置count自增、flag值为true
4、然后在解析到文本内容的时候,会调用characters(char[] ch, int start, int length)方法所以利用上面的flag的值和count的值来判断是否是第一本书的书名标签。如果是,就将它的内容打印出来。
5、在endElement(String uri, String localName, String qName)方法中重新将flag的值设置为false.当然这个语句其实也是可以放到上面打印的语句后面的。
6、然后接下来就是创建SAX工厂、SAX解析器,调用parse方法来解析xml。当然parse方法就需要用到我们上面的处理器了。
7、运行之后查看结果,可以看到结果和我们想要的结果是一致的。