sax 读取xml
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.sql.rowset.spi.XmlWriter;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

class Test extends DefaultHandler{
    
    private StringBuffer buf;
    private String str;
    public Test(){
        super(); 
    }
    
//    public void setDocumentLocator(Locator locator){}
    @Override
    public void startDocument() throws SAXException{
        buf=new StringBuffer();
        System.out.println("*******开始解析文档*******");
    }
    @Override
    public void endDocument() throws SAXException{        
        System.out.println("*******文档解析结束*******");
    }
    @Override
    public void startPrefixMapping( String prefix, String uri ){
        System.out.println(" 前缀映射: " + prefix +" 开始!"+ " 它的URI是:" + uri);
    }
    @Override
    public void endPrefixMapping( String prefix ){
        System.out.println(" 前缀映射: "+prefix+" 结束!");
    }
    
//    public void processingInstruction( String target, String instruction )throws SAXException{}
    
//    public void ignorableWhitespace( char[] chars, int start, int length ) throws SAXException {}
    
//    public void skippedEntity( String name ) throws SAXException {}
    @Override
    public void startElement(String namespaceURI,String localName,String qName,Attributes atts){
        System.out.println("*******开始解析元素*******");    
        System.out.println("元素名"+qName);        
        for(int i=0;i<atts.getLength();i++){
            System.out.println("元素名"+atts.getLocalName(i)+"属性值"+atts.getValue(i));
        }
    }
    @Override
    public void endElement(String namespaceURI,String localName,String fullName )throws SAXException{
//        buf.trimToSize();
        str = buf.toString(); 
        System.out.println("buf = "+buf+" || length = "+buf.length());
        System.out.println("str = "+str.trim()+" || length = "+str.trim().length());
        buf.delete(0,buf.length());
        System.out.println("******"+namespaceURI+"元素解析结束"+localName+"********"+fullName);
    }
    @Override
    public void characters( char[] chars, int start, int length )throws SAXException{
        //将元素内容累加到StringBuffer中 
        buf.append(chars,start,length);
    }
    
    public static void main(String args[]){
        try{
            SAXParserFactory sf = SAXParserFactory.newInstance();
            SAXParser sp = sf.newSAXParser();
            Test Test=new Test();
            sp.parse(new File("F:/text.xml"),Test);
        }catch(IOException e){
            e.printStackTrace(); 
        }catch(SAXException e){
            e.printStackTrace(); 
        }catch(Exception e){
            e.printStackTrace(); 
        }
    }
}

xml:

<?xml version="1.0" encoding="gb2312"?>
<person>
<name>王小明</name>
<college>信息学院</college> 
<telephone>6258113</telephone>
<notes>男,1955年生,博士,95年调入海南大学</notes>
</person>

不积跬步无以至千里,不积小流无以成江海----SAX读取xml相关推荐

  1. 劝学:不积跬步,无以至千里,不积小流,无以成江海.

    领略古人智慧. 不积跬步,无以至千里,不积小流,无以成江海.骐骥一跃,不能十步,驽马十驾,功在不舍.--<荀子·劝学>

  2. 未来两周目标计划---C++ and Disassembly(不积跬步无以至千里,不积小流无以成江海)

    1.深入理解C++模板编程 2. 重新仔细查阅C++的编译器多态与运行期多态: 3. 利用反汇编去跟踪代码,深入弄懂程序执行的内部过程: 任务完成程度: 2014.11.12 完成度:%10 2014 ...

  3. 未来两周目标计划---C++ and Disassembly(不积跬步无以至千里,不积小流无以成江海)...

    2019独角兽企业重金招聘Python工程师标准>>> 1.深入理解C++模板编程 2. 重新仔细查阅C++的编译器多态与运行期多态: 3. 利用反汇编去跟踪代码,深入弄懂程序执行的 ...

  4. 不积跬步无以至千里[转]

    不积跬步无以至千里<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ...

  5. 熊军:不积跬步 无以至千里 技术路上没有捷径

    大家好,今天是一周新的开始,继续给大家带来ORACLE ACE的人物采访.今天的采访嘉宾是熊军先生(ID:magic007),熊军先生一直从事Oracle数据库专业技术服务工作,有近10年的Oracl ...

  6. oracle左补全函数,Oracle 左侧补齐函数lpad 函数 (不积跬步,无以至千里)

    Oracle 左侧补齐函数lpad 函数 (不积跬步,无以至千里) (2017-10-08 16:24:41) 函数介绍 lpad函数从左边对字符串使用指定的字符进行填充.从其字面意思也可以理解,l是 ...

  7. 积跬步而至千里,积小流而成江海

    2011年2月16日,开通了CSDN的博客,坚持每隔一段时间写一写文章,把自己在工作中碰到的一些问题摊上来讨论讨论,同时也为以后碰到同类问题提供快速检索. 深以为技术的积累不是一天两天的事,冰冻三尺非 ...

  8. 【无标题】积跬步,以致千里;积小流,以成江海。

    1.自我介绍 大家好!我是来自西安工程大学计算机类的大一学生.上学期已经学习了C语言,但是发现自己的代码编程能力并没有多大提升,理论知识基础也还不够扎实.之前也在github中提交过代码.但是没有在C ...

  9. gcc 优化选项 -O1 -O2 -O3 -Os 优先级,-fomit-frame-pointer(不积跬步无以至千里)

    -fomit-frame-pointer 在优化时候被启用,带来了效率的提升.看到一篇比较详细记录编译选项的文章,转发一下,同时给自己作一下备忘. 少优化->多优化: O0 -->> ...

  10. 不积跬步无以至千里,我与CSDN不平凡的2021年

    文章目录 一.前言 二.收获 2.1 CSDN热搜博客 2.2 CSDN年度回忆录 2.3 入住CSDN讲师 2.4 B站千粉UP主 2.5 新星计划第二季上榜 三.学习 四.改变 4.1 自己的定位 ...

最新文章

  1. 陆奇“入驻” YC,开启新征程
  2. Color Blended Layers
  3. “三电一兽”竞争格局将打破,网络营销外包下搜电开启高效运营
  4. 图像亮度、对比度调节(伽马校正)
  5. Highcharts 环境配置介绍
  6. ASP.NET发送电子邮件
  7. 还原virtual函数的本质-----C++
  8. 领域应用 | 如何将知识图谱特征学习应用到推荐系统?
  9. 微信+php++证书,php - 微信的商户证书文件怎么用
  10. golang微服务框架对比_最强开源微服务框架,全网独家整理
  11. f77编程和c语言的区别,在fortran中l用F77编译器编译程序时出现问题?
  12. Groovy 入门教程
  13. Unity环境光 Environment面板
  14. 解决Chrome中打不开Google搜索结果链接
  15. 金蝶云星辰和旺店通企业版奇门单据接口集成
  16. 解决Win11登录Microsoft账户一直转圈问题
  17. 性能测试监控——CPU
  18. cpu字长、操作系统字长和jvm中各数据类型占用的字节数关系
  19. Cacti登录密码忘记,重置Cacti密码
  20. 量化交易之HFT篇 - 高频做市模型源码(.cpp文件)

热门文章

  1. 什么是平台,为何能成为平台?我们缘何进入了一个被平台控制的世界?
  2. 00003 不思议迷宫.0008:分析了半天我们能干什么?
  3. 2012nbsp;百度实习生招聘nbsp;笔试试题
  4. 使用ESP32驱动QMA7981读取三轴加速度(带例程)
  5. 识别三角形(c++基础)
  6. 由ACD Systems开发的看图工具-ACDSee提供下载
  7. (2022-2027)全球及中国乳酸十六烷基酯行业供需现状及前景规划分析报告
  8. Android7.0以上安装时出现“解析软件包错误”
  9. soc均衡,soc均衡控制,储能,蓄电池充放电控制,蓄电池储 能
  10. 面试官:CSS如何画一个三角形?原理是什么?