博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java核心技术卷2 高级特性 学习笔记(3)
阅读量:4171 次
发布时间:2019-05-26

本文共 942 字,大约阅读时间需要 3 分钟。

参考:《Java核心技术卷2 高级特性 》第三章

XML是一种非常有用的描述结构化信息的技术。

XML格式能够表示层次结构,这比属性文件的平面结构更加灵活。

XML格式能够表达层次结构,并且重复的元素不会被曲解。

XML文档结构一般以文档头开始:

或者

文档头是可选的,但是强烈建议使用。

文档头之后通常是文档类型定义(Document Type Definition,DTD),文档类型定义时确保文档正确的一个重要机制,但是它不是必须的。

XML文档的征文包含根元素,根元素包含其他元素。

在设计XML文档结构时,最好让元素要么包含子元素,要么包含文本,避免同时有文本和子元素,即混合式内容,可以简化解析过程。

解析XML文档,Java提供了两种XML解析器:

  • 文档对象模型(Document Object Model,DOM)解析器这样的属性解析器,将读入的XML文档转换为树结构
  • XML简单API(Simple API for XML,SAX)解析器这样的流机制解析器,在读入XML文档时生成相应的事件。

DOM解析器对于实现我们的大多数目的来说更容易一些,如果要处理很长的文档,用它生成树结构会消耗大量内存,或者只是对于某些元素感兴趣,而不关心上下文,这些情况下应该考虑使用流机制解析器。

使用XPath来定位信息

使用XPath执行下列操作比普通的DOM方式要简单的多:

(1)获得文档节点

(2)枚举它的子元素

(3)定位某个元素

(4)定位其子节点中名字为xx的节点

(5)定位其子节点中的text节点

(6)获取其数据

Java类库提供的流机制解析器,老而弥坚的SAX解析器和添加到Java SE6中的更现代化的StAX解析器。SAX解析器使用的是事件回调,而StAX解析器提供了遍历解析事件的迭代器,后者用起来通常更方便一些。

SAX解析器在解析XML输入数据的各个组成部分时会报告时间,但不会以任何方式存储文档,而是由事件处理器建立相应的数据结构。实际上,DOM解析器是在SAX解析器的基础上构建的,它在接收到解析器事件时构建dom树。

StAX解析器是一种拉解析器(pull parser),与安装事件处理器不同,只需要使用基本循环来迭代所有的事件。

 

转载地址:http://igyai.baihongyu.com/

你可能感兴趣的文章
高性能服务器设计
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>
android中SharedPreferences的简单例子
查看>>
android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框
查看>>
andorid里关于wifi的分析
查看>>
Hibernate和IBatis对比
查看>>
Spring MVC 教程,快速入门,深入分析
查看>>
Android 的source (需安装 git repo)
查看>>
LOCAL_PRELINK_MODULE和prelink-linux-arm.map
查看>>
Ubuntu Navicat for MySQL安装以及破解方案
查看>>
java多线程中的join方法详解
查看>>
idea添加gradle模块报错The project is already registered
查看>>
在C++中如何实现模板函数的外部调用
查看>>
HTML5学习之——HTML 5 拖放
查看>>
HTML5学习之——HTML 5 Canvas vs. SVG
查看>>
HTML5学习之——HTML 5 应用程序缓存
查看>>
HTML5学习之——HTML 5 Web Workers
查看>>
HTML5学习之——HTML 5 Canvas
查看>>