解析XML文件——SAX基本操作

来源:互联网 发布:银行核心业务系统数据 编辑:程序博客网 时间:2024/06/05 21:05

1.SAX的主要事件处理

方法 说明 public void startDocument() throws SAXException 文档开始 public void endDocument() throws SAXException 文档结束 public void startElement(String uri,String localName,String qName,Attributes attr) throws SAXException 元素开始,可以取得元素的名称和元素的全部属性 public void endElement(String uri,String localName,String qName) throws SAXException 元素结束,可以取得元素的名称和元素的全部属性 public void characters(char[] ch,int start,int length) throws SAXException 元素内容

2.SAX解析器

//定义SAX解析器示例//假设已导入所需的包public class parserSAX extends DefaultHandler {    @Override    public void startDocument() throws SAXException {  //文档开始        System.out.println("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");    }    @Override    public void endDocument() throws SAXException {  //文档结束        System.out.println("\n 读取结束...");    }    @Override    public void startElement(String uri, String localName, String name, Attributes attr) throws SAXException {        //元素开始        System.out.print("<");        //输出元素名称        System.out.print(name);        //取得全部的属性        if (attr != null) {            for (int x = 0; x < attr.getLength(); x++) {                System.out.print(" " + attr.getQName(x)                        + "=\"" + attr.getValue(x) + "\"");            }        }        System.out.print(">");    }    @Override    public void endElement(String uri, String localName, String name) throws            SAXException {  //元素结束        System.out.print("</");        //输出元素名称        System.out.print(name);        System.out.print(">");    }    @Override    public void characters(char[] ch, int start, int length) throws            SAXException{  //取得元素内容        System.out.print(new String(ch,start,length));  //输出内容    }}

3.使用SAX解析器

//使用SAX解析器示例//假设已导入所需的包public class Main {    public static void main(String[] args) throws Exception {        //建立SAX解析工厂        SAXParserFactory fac = SAXParserFactory.newInstance();        //构造解析器        SAXParser par = fac.newSAXParser();        //解析XML使用HANDLER        par.parse("C:" + File.separator + "SAX.xml", new parserSAX());    }}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 ems 信 丢了怎么办 办快递代收点怎么办 淘宝退货退款取消怎么办 淘宝卖家不给退款怎么办 商家退货不退款怎么办 专卖店不给退怎么办 理发店顾客钱收少了怎么办 淘宝店铺搜不到怎么办 淘宝客服不在线怎么办 淘宝售后服务客服帮着卖家怎么办 老公一年找不到工作怎么办 淘宝店家跑了怎么办 淘宝卖家跑了怎么办啊 没发货退不了怎么办 微信上遇到诈骗怎么办 拼多多二级处罚怎么办 淘宝售后过了怎么办 遇到耍无赖的人怎么办 欠钱耍无赖得怎么办 借钱不还耍无赖怎么办 淘宝开食品店证件怎么办 手机卡掉了话费怎么办 手机变板砖怎么办 10086短信收不到怎么办 苹果手机成砖头怎么办 手机死砖了怎么办 苹果电脑成砖了怎么办 苹果误充游戏怎么办 话费如果交错了怎么办 联通充错号码怎么办 淘宝店铺假流量怎么办 空号交错话费怎么办 微信上被骗4800怎么办 移动手机号空号怎么办 微信充值充错号码对方是空号怎么办 买了运险费退货怎么办 手机玩吃鸡有点卡怎么办 微信手机充值充到空号怎么办 用微信交话费交错了怎么办 眼睫毛烫坏了怎么办 眼睫毛太硬了怎么办