3.6.2 使用StAX解析器

StAX解析器是一种“拉解析器(pull parser)”,与安装事件处理器不同,你只需使用下面这样的基本循环来迭代所有的事件:
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.6.2 使用StAX解析器

解析器将产生下面的事件:
1)START_ELEMENT,元素名:font
2)CHARACTERS,内容:空白字符
3)START_ELEMENT,元素名:name
4)CHARACTERS,内容:Helvetica
5)END_ELEMENT,元素名:name
6)CHARACTERS,内容:空白字符
7)START_ELEMENT,元素名:size
8)CHARACTERS,内容:36
9)END_ELEMENT,元素名:size
10)CHARACTERS,内容:空白字符
11)END_ELEMENT,元素名:font
要分析这些属性值,需要调用XMLStreamReader类中恰当的方法,例如:
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.6.2 使用StAX解析器

它可以获取当前元素的units属性。
默认情况下,命名空间处理是启用的,你可以通过像下面这样修改工厂来使其无效:
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.6.2 使用StAX解析器

程序清单3-9包含了用StAX解析器实现的网络爬虫程序。正如你所见,这段代码比等效的SAX代码要简短了许多,因为此时我们不必操心事件处理问题。
程序清单3-9 stax/StAXTest.java
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.6.2 使用StAX解析器
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.6.2 使用StAX解析器
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.6.2 使用StAX解析器
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.6.2 使用StAX解析器
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.6.2 使用StAX解析器
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.6.2 使用StAX解析器

相关文章:

  • 2021-10-16
  • 2021-06-07
  • 2022-01-05
  • 2021-06-14
  • 2022-01-18
  • 2021-11-26
  • 2021-12-19
  • 2021-06-29
猜你喜欢
  • 2021-06-16
  • 2021-12-07
  • 2021-06-06
  • 2021-09-21
  • 2021-12-11
  • 2021-12-18
  • 2021-12-03
相关资源
相似解决方案