手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

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

时间:2024-10-13 20:37:44

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)三个方法。

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

2、然后定义两个全局变量:flag和countflag主要用来判断是否是解析书名标签。而count用来判断是哪一个本书的。

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

3、在startElement(String uri, String localName, String qNa罪焐芡拂me, 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:获取某个标签的文本内容
© 手抄报圈