jaxp中sax方式解析xml:获取某个标签的文本内容

2025-10-29 06:14:07

1、首先我们要编写的处理类MyHandler2,让它继承DefaultHandler,并重写

startElement(String uri, String localName, String qName, Attributes attributes)

characters(char[] ch, int start, int length)

endElement(String uri, String localName, String qName)

三个方法。

jaxp中sax方式解析xml:获取某个标签的文本内容

2、然后定义两个全局变量:flag和count

flag主要用来判断是否是解析书名标签。

而count用来判断是哪一个本书的。

jaxp中sax方式解析xml:获取某个标签的文本内容

3、在startElement(String uri, String localName, String qName, Attributes attributes)方法中,我们通过“书名”.equals(qName) 来判断是否解析到书名标签。

 当解析到书名的标签的时候设置count自增、flag值为true

jaxp中sax方式解析xml:获取某个标签的文本内容

4、然后在解析到文本内容的时候,会调用characters(char[] ch, int start, int length)方法

所以利用上面的flag的值和count的值来判断是否是第一本书的书名标签。

如果是,就将它的内容打印出来。

jaxp中sax方式解析xml:获取某个标签的文本内容

5、在endElement(String uri, String localName, String qName)方法中重新将flag的值设置为false.当然这个语句其实也是可以放到上面打印的语句后面的。

jaxp中sax方式解析xml:获取某个标签的文本内容

6、然后接下来就是创建SAX工厂、SAX解析器,调用parse方法来解析xml。

当然parse方法就需要用到我们上面的处理器了。

jaxp中sax方式解析xml:获取某个标签的文本内容

7、运行之后查看结果,可以看到结果和我们想要的结果是一致的。

jaxp中sax方式解析xml:获取某个标签的文本内容

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢