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);
        }
    }
  • 相关阅读:
    Struts访问servletAPI方式
    Struts结果跳转方式(四种result配置)
    struts与ognl结合【重要】
    Yii --Command 任务处理
    安卓 短信去重(看好了,是短信去重,不是联系人去重)
    快速排序算法之我见(附上C代码)
    Ext JS4百强应用:设置textfield的悬浮提示信息 --第8强
    窗体添加阴影效果如此简单
    使用apache daemon让java程序在unix系统上以服务方式运行
    控件布局通用解决方案
  • 原文地址:https://www.cnblogs.com/shaoshao/p/3304388.html
Copyright © 2011-2022 走看看