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);
        }
    }
  • 相关阅读:
    Java8 新的日期和时间API(笔记)
    java对象的强引用,软引用,弱引用和虚引用
    对性能有何帮助(读书笔记)
    ThreadLocal的实现原理(读书笔记)
    ThreadLocal的简单使用(读书笔记)
    编程、滑板与做饭
    在三四线城市谈软件业务,及其他
    EOS开发中内存RAM如何买卖
    用Visual Studio和c#开发以太坊dapp
    使用PHP和树莓派开发一个比特币和以太坊交易机器人
  • 原文地址:https://www.cnblogs.com/shaoshao/p/3304388.html
Copyright © 2011-2022 走看看