Java核心技术卷2 高级特性 学习笔记(3)

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

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

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

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

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

<?xml version="1.0"?>

或者

<?xml version="1.0" encoding="UTF-8"?>

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

文档头之后通常是文档类型定义(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),与安装事件处理器不同,只需要使用基本循环来迭代所有的事件。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java核心技术 II 高级特性》是对Java编程语言的进一步深入学习的一本书籍。书中主要涵盖了Java语言的一些高级特性和相关的主题。以下是对该书的简要介绍和总结。 本书分为17章,从高级I/O、网络编程和多线程编程等基础知识开始,逐步深入讲解了Java高级特性。其中,有关泛型、集合框架、Lambda表达式、流式编程、并发、反射等内容是本书的重点。 在泛型方面,书中详细介绍了泛型的定义、使用以及泛型类、泛型接口和泛型方法等。对于集合框架,书中介绍了Java集合框架的体系结构,以及常用的集合类和算法。在Lambda表达式和流式编程方面,通过简洁的语法和链式操作,使得Java编程变得更为简洁和灵活。 书中还涉及了并发和多线程编程的相关知识,包括线程的创建、同步与通信、线程池以及并发集合类的使用等。此外,反射也是本书的一个重要内容,反射让我们可以通过程序来动态获取类的信息,以及在运行时修改类的行为。 通过阅读本书,读者可以进一步提高自己的Java编程能力,了解和掌握Java语言的一些高级特性和相关知识。本书不仅适合有一定Java编程基础的开发人员阅读,也可以作为高级Java课程的教材。 总之,《Java核心技术 II 高级特性》这本书通过深入浅出的方式讲解了Java语言的一些高级特性和相关内容,对于想要进一步提升Java编程能力的读者来说,是一本不可多得的好书。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值