# 用于 XML API 的流式 API

> 原文： [https://docs.oracle.com/javase/tutorial/jaxp/intro/streaming.html](https://docs.oracle.com/javase/tutorial/jaxp/intro/streaming.html)

StAX 是 JAXP 系列中的最新 API，为希望进行高性能流过滤，处理和修改的开发人员提供了 SAX，DOM，TrAX 和 DOM 的替代方案，特别是在内存不足和扩展性要求有限的情况下。

总而言之，StAX 为流式 XML 处理提供了标准的双向**拉解析器**接口，提供比 SAX 更简单的编程模型和比 DOM 更高效的内存管理。 StAX 使开发人员能够将 XML 流解析和修改为事件，并扩展 XML 信息模型以允许特定于应用程序的添加。 [Streaming API for XML](../stax/index.html) ，[将 StAX 与其他 JAXP API](../stax/why.html#bnbea) 进行比较，提供了更详细的 StAX 与几种替代 API 的比较。

## StAX 包

StAX API 在[表 1-4](#gfoor) 中显示的包中定义。

表 1-4 StAX 包

<colgroup><col width="50%"> <col width="50%"></colgroup>
| 

包

 | 

描述

 |
| :-- | :-- |
| `javax.xml.stream` | 定义 `XMLStreamReader` 接口，该接口用于迭代 XML 文档的元素。 `XMLStreamWriter` 接口指定应如何编写 XML。 |
| `javax.xml.transform.stax` | 提供特定于 StAX 的转换 API。 |