Streaming API for XML (StAX) – interfejs programistyczny aplikacji (API) napisany w języku Java, służący do odczytywania i zapisywania dokumentów w języku XML. Standard ten jest zrealizowaną w Javie ideą parsingu strumieniowego. Został on opracowany w ramach JSR-173, a implementacja parsera była znana także jako Sun Java Streaming XML Parser.

Parsing strumieniowy Tradycyjnie, API do obsługi XML zbudowane są na bazie modeli: drzewa (DOM) – cały dokument XML jest wczytywany jako obiektowy model drzewa do pamięci operacyjnej, a programista może w dowolnym momencie pobrać referencje do dowolnego elementu; zdarzeń (SAX) – dokument XML jest przetwarzany jednorazowo począwszy od początku, aż do końca, a programista określa szereg metod, które obsługują zdarzenia pojawiające się podczas przetwarzania danych.

Obydwa te podejścia mają zarówno swoje zalety jak i wady. DOM przykładowo oferuje bardzo łatwy, nieograniczony i intuicyjny dostęp do struktury dokumentu XML, lecz niestety w przypadku analizowania dużych dokumentów XML konsumuje olbrzymie zasoby pamięci operacyjnej, a ponadto jest dosyć wolny.