博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用SAX解析xml文档
阅读量:6951 次
发布时间:2019-06-27

本文共 1762 字,大约阅读时间需要 5 分钟。

1.首先,在main方法中解析xml文档,具体代码如下:

import org.w3c.dom.*;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;public class Main {    public static void main(String[] args)  throws Exception {        //创建一个文档解析器工厂        SAXParserFactory factory=SAXParserFactory.newInstance();        SAXParser parser=factory.newSAXParser();        Handler handler=new Handler();        parser.parse("src/server.xml",handler);    }}

其中,解析时parser.parse("src/server.xml",handler);第一个参数是xml文档的地址,第二个参数是具体的以什么规则解析这个xml文档。

2.重写Handler类,以自由操纵如何具体的解析xml文档的具体值

import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;public class Handler extends DefaultHandler {    //全局变量用于存储书籍的编号    int bookIndex=0;    /*开始解析文档*/    @Override    public void startDocument() throws SAXException {        super.startDocument();        System.out.println("开始解析文档");    }    /*结束解析文档*/    @Override    public void endDocument() throws SAXException {        super.endDocument();        System.out.println("结束解析文档");    }    /*解析文档中所有的开始标签*/    @Override    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {        super.startElement(uri, localName, qName, attributes);        //开始解析book元素的属性        if("book".equals(qName)){            bookIndex++;            System.out.println("==========开始解析第"+bookIndex+"本书============");            //输出book元素的id属性,已知属性名,根据属性名获取属性值            //System.out.println("book的属性值是"+attributes.getValue("id"));            //不知道属性名,只能遍历所有属性            int num=attributes.getLength();            for(int i=0;i

 

转载于:https://www.cnblogs.com/xiaoao/p/9630263.html

你可能感兴趣的文章
context switch
查看>>
Oracle awr报告生成操作步骤
查看>>
【DB2】DB2使用IMPORT命令导入含有自增长列的表报错处理
查看>>
微服务之springCloud-docker-comsumer(三)
查看>>
dhcpcd守护进程分析【转】
查看>>
Linux - 理不清的权限chmod与chown区别
查看>>
TCP协议疑难杂症全景解析
查看>>
redis 1
查看>>
如何找回电脑重新分区丢失的数据
查看>>
Python安装pycurl失败,及解决办法
查看>>
如何用FFmpeg API采集摄像头视频和麦克风音频,并实现录制文件的功能
查看>>
目标检测算法的进展
查看>>
图片滑块验证码的解决
查看>>
C# 使用 GDI+ 画图
查看>>
从零開始学android<ScrollView滚动视图.十八.>
查看>>
fabric.js和高级画板
查看>>
oracle安装后tnsnames.ora内容
查看>>
微信小程序开发--第一个项目
查看>>
BZOJ1060: [ZJOI2007]时态同步(树形dp 贪心)
查看>>
Dcloud课程8 开心一刻应用如何实现
查看>>