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

本文共 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

你可能感兴趣的文章
Flask下载文件
查看>>
java基础学习_基础语法(上)02_day03总结
查看>>
乐视印度公司裁员80%,全球化扩张遭遇滑铁卢,它还能撑多久?
查看>>
weex sdk集成到Android工程二. weex sdk集成到Android工程
查看>>
Git工程实践(二)多账号配置
查看>>
鱼鹰软件签约老牌传播机构思艾传播集团
查看>>
线程(杂)
查看>>
未来杯高校AI挑战赛激战正酣 金山云全程提供云资源
查看>>
【资讯】福布斯:旅行积分计划是区块链主要目标,对旅行者来说是好消息
查看>>
高桥智隆:未来机器人将取代智能手机,并成为人类的朋友
查看>>
工信部表示:建立网络数据安全管理体系 强化用户个人信息保护
查看>>
感受真实的华为-记山东CIO智库会员华为之行
查看>>
Spring的依赖注入概述
查看>>
为什么我的联想打印机M7450F换完墨粉之后打印机显示请更换墨粉盒?这是我的墨盒第一次灌粉·、...
查看>>
命运多舛、前途未卜,共享经济年终盘点之网约车
查看>>
研究人员研制出可有效抑制艾滋病病毒的新药,可让病毒几乎检测不出来
查看>>
什么是区块链?超级账本 Brian Behlendorf 从五个方面教你认识
查看>>
独家揭秘:2017中国人工智能与机器人创新大会大咖云集
查看>>
聊聊Dubbo - Dubbo可扩展机制实战
查看>>
马斯克生日之际,特斯拉正式交付30辆顶配版Model 3
查看>>