zoukankan      html  css  js  c++  java
  • sax技术操作xml

    package com.xml.zh;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.*;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.DefaultHandler;
    public class SaxTest {
        /**
         * 运用Sax技术来操作xml
         * @param args
         * @throws SAXException 
         * @throws Exception 
         */
        public static void main(String[] args) throws Exception{
            // TODO Auto-generated method stub
            //1.创建SaxparseFactory
            SAXParserFactory spf =SAXParserFactory.newInstance();
            //2.创建Saxparser解析器
            SAXParser saxparser = spf.newSAXParser();
            //3.把xml文件的事件处理对象关联
            saxparser.parse("src/class.xml",new defaultHander());
        }
    }
    //定义事件处理类
    class defaultHander extends DefaultHandler{
        boolean isName=false;
        //发现文档的文本
        @Override
        public void characters(char[] ch, int start, int length)
                throws SAXException {
            // TODO Auto-generated method stub
            //遍历某一个元素的文本
            if(!new String(ch,start,length).trim().equals("") && isName)
                System.out.println(new String(ch,start,length));
            //遍历
            //System.out.println(new String(ch,start,length));
            super.characters(ch, start, length);
        }
        //发现文档的结束
        @Override
        public void endDocument() throws SAXException {
            // TODO Auto-generated method stub
            super.endDocument();
        }
        //发现文档的一个元素的结束
        @Override
        public void endElement(String uri, String localName, String qName)
                throws SAXException {
            // TODO Auto-generated method stub
            super.endElement(uri, localName, qName);
        }
        //发现文档的开始
        @Override
        public void startDocument() throws SAXException {
            // TODO Auto-generated method stub
            super.startDocument();
        }
        //发现xml文档的一个元素开始
        @Override
        public void startElement(String uri, String localName, String qName,
                Attributes attributes) throws SAXException {
            // TODO Auto-generated method stub
            //System.out.println("name = "+qName);
            if(qName.equals("mingzi")){
                isName = true;
            }else{
                isName = false;
            }
            super.startElement(uri, localName, qName, attributes);
        }
    }
  • 相关阅读:
    PHP 使用命名空间(namespace),实现自动加载
    快捷方式不能使用的解决方法
    Python学习案例
    Linux下Tomcat的安装和部署
    关于Linux下的环境变量
    关于Linux下安装Oracle
    Linux下安装MySQLdb模块(Python)
    交换机VLAN的定义、意义以及划分方式
    让java程序在后台一直执行(例如putty关闭后后台程序继续运行)
    基于FTP服务器搭建yum源
  • 原文地址:https://www.cnblogs.com/shaoshao/p/3304388.html
Copyright © 2011-2022 走看看