The kXML Project (http://kxml.enhydra.org) is the work of Stefan Haustein. It represents the first publicly available XML parser for the Java 2 Micro Edition; a SOAP client for J2ME known as kSOAP is also in the works. (Contact Stefan if you're interested in assisting in this Open Source project!) kXML is a pull-based parser designed to run in the limited J2ME environment. While there are other Java XML parser projects (such as JDOM), the kXML documentation explains the differences in this way: "Whereas the goal of JDOM is simplification, kDOM tries to add a significant reduction of memory usage crucial on small devices like the Palm Pilot." KDOM can be thought of as the parsing "engine" behind the kXML parsing framework.
kXML is contained within the org.kxml package. XML streams are read in using a java.io.Connector class such as HttpConnection or StreamConnection and are then parsed using the org.kxml.parser.XmlParser class. This class includes basic functionality for reading in one element at a time. The XmlParser is used in conjunction with an org.kxml.kdom.Document class to traverse the XML document tree.