javaee之sax解析和schema约束见解

一、jaxp对xml的sax解析


sax的解析原理:读到xml文档的某部分内容,就会触发对应的事件处理代码。


sax的核心api:
1)通过SAXParserFactory创建对象,
2)再创建SAXParser对象
3)通过SAXParser对象得到XMLReader解析器
4)在XMLReader解析器中注册事件监听器(一般是创建一个类来继承defaultHandler类)
5)使用XMLReader的parse方法进行读取xml文件(参数一般为xml文件的路径)


ContentHandler接口的常用方法
startDocument():文档开始时触发
characters():读到文本内容时触发
参数1: ch    代表到目前为止读到的内容
参数2: start   代表目前内容的开始位置
参数3: length  代表目标内容的长度

endDocument():文档结束时触发











二、 XPath的基本使用方法


XPath是一个很方便读取xml节点的插件


需要把XPath的支持包导入项目
jaxen-1.x-beta.jar


主要也就有两个核心的方法:
List list = document.selectNodes( "//foo/bar" );  查询多个节点
                Node node = document.selectSingleNode( "//foo/bar/author" ); 查询一个节点


xpath的常用语法:
/     代表根(从根开始找)
//    所有子节点(不分层次)
* 代表通配所有的元素
[] 代表添加一些条件
@ 代表是选择的属性
text() 代表选择的是文本






dom解析    sax解析       的比较:
原理:一次性读取,构建dom树, 读取一点,解析一点,内存占用的小
内存占用的比较大


思想:面向对象的编程思想 基于事件驱动模式的编程思想
操作方式:DOM可以增删改查 sax只是做查询
执行的顺序:DOM可以任意读取, sax只能从前往后读,不能往回读
    还可以往回读


三、Schema约束
1)schema支持的是名称空间
2)schema的语法是xml的语法
3)schema的约束文件以.xsd结尾


名称空间:
用于在xml文件中导入schema(xsd)文件的!而且在一个xml文件中可以使用多个名称导入多个schema约束

详细的可以参考文档,schema只做了解参考,不必去深究



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值