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);
        }
    }
  • 相关阅读:
    BZOJ 2654: tree(二分 最小生成树)
    洛谷P4602 [CTSC2018]混合果汁(主席树)
    SDOI 2018 round2游记
    Codeforces Round #479 (Div. 3) 题解
    软件开发中关于向后兼容的理解
    使用achartengine实现自定义折线图 ----附代码 调试OK
    python每次处理一个字符的三种方法
    子序列的个数 --- 庞果网
    IOS深入学习(4)之Coordinate System
    C# ADO基础 SqlHelper
  • 原文地址:https://www.cnblogs.com/shaoshao/p/3304388.html
Copyright © 2011-2022 走看看