Abstract. The rapid growth in the amount of XML data and the development of publish-subscribe systems have led to great interest in processing streaming XML data. We propose the QstreamX system for querying streaming XML data using a novel structure, called Hash-Lookup Query Trees, which consists of a Filtering HashTable (FHT), a Static Query Tree (SQT) and a Dynamic Query Tree (DQT). The FHT is used to filter out irrelevant elements and provide direct access to relevant nodes in the SQT. The SQT is a tree model of the input query. Based on the SQT, the DQT is built dynamically at runtime to evaluate queries. We show, with experimental evidence, that QstreamX achieves throughput five times higher than the two most recently proposed stream querying systems, XSQ and XAOS, at much lower memory consumption.