使用 StAX 解析和创建 XML 文档
1. StAX 概述
StAX(Streaming API for XML)在处理 XML 文档方面有独特优势。与 DOM 不同,StAX 能几乎立即将信息集项提供给应用程序,而 DOM 需构建完节点树后才提供。同时,StAX 采用拉取模型,类似 DOM,应用程序可自主决定何时接收下一个信息集项,这种模型基于迭代器设计模式(参考:http://sourcemaking.com/design_patterns/iterator ),使应用程序更易编写和调试。相比之下,SAX 采用推送模型,解析器通过事件将信息集项传递给应用程序,无论应用程序是否准备好接收,该模型基于观察者设计模式(参考:http://sourcemaking.com/design_patterns/observer ),导致应用程序编写和调试难度较大。
总结来说,StAX 可解析或创建任意大小的文档,能快速将信息集项提供给应用程序,并使用拉取模型让应用程序掌握主动,SAX 和 DOM 都无法同时具备这些优势。
在 Java 中,StAX 通过 javax.xml.stream 、 javax.xml.stream.events 和 javax.xml.stream.util 包中的类型实现。下面将介绍如何使用 StAX 解析和创建 XML 文档。
2. 基于流和基于事件的读写器
StAX 解析器被称为文档读取器,文档创建者被称为文档写入器。StAX 将文档读取器和写入器分为基于流和基于事件两类。
超级会员免费看
订阅专栏 解锁全文
2134

被折叠的 条评论
为什么被折叠?



