JAVA解析XML文件--SAX方式

1.XML基础知识见http://www.w3school.com.cn/xml/index.asp

2.DTD基础知识见http://www.w3school.com.cn/dtd/index.asp 和 http://blog.csdn.net/xiazdong/article/details/7270593

3.SAX解析XML文件核心JAVA语句

         SAXParserFactory factory = SAXParserFactory.newInstance();//使用SAXParserFactory创建SAX解析工厂

        SAXParser saxParser = factory.newSAXParser();//通过SAX解析工厂得到解析器对象

        saxParser.parse( new File(argv[0]), handler);//将解析对象和事件处理器对象关联,关于xml文件的解析过程中的处理全部在Handler里面实现


上SAXParserHandler为自定义类,继承了DefaultHandler,并重写其startDocument()endDocument()startElement(),character(),endElement() 5个方法。

详细过程见

http://blog.csdn.net/rainv/article/details/1673022文档中元素逐个解析时方法回调过程很详细。

http://blog.csdn.net/wssiqi/article/details/8239357 XML SAX localName和qName的区别,看了一些程序大都是SAX1。

4. DOM (Document Object Model,与平台和语言无关的方式表示XML文档的官方W3C标准) 解析原理:基于内存,先把XML文件整个文档信息和和构造层次结构(树型)加载到内存中,在逐个解析。DOM可以读取XML也可以向XML文件中插入数据,可以指定要访问的元素进行随机访问。但是DOM方式读取大文件时消耗很大的内存空间。

 SAX (Simple API for XML) 解析原理:基于事件,通过自己创建的Handler类,去逐个分析遇到的每一个节点(节点分析是从最外层向里层逐个开始),这种串行化的模型不允许对XML文档进行随机读取,也就是说只能获得XML文件正在解析的信息。这种层次型和串行的访问方式也使得SAX模型在元素之间的横向移动非常困难。但是SAX方式适于解析较大的复杂的XML文件。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值