class xml.etree.ElementTree.XMLPullParser(events=None)
A pull parser suitable for non-blocking applications. Its input-side API is similar to that of XMLParser, but instead of pushing calls to a callback target, XMLPullParser collects an internal list of parsing events and lets the user read from it. events is a sequence of events to report back. The supported events are the strings "start", "end", "start-ns" and "end-ns" (the “ns” events are used to get detailed namespace information). If events is omitted, only "end" events are reported.
-
feed(data) -
Feed the given bytes data to the parser.
-
close() -
Signal the parser that the data stream is terminated. Unlike
XMLParser.close(), this method always returnsNone. Any events not yet retrieved when the parser is closed can still be read withread_events().
-
read_events() -
Return an iterator over the events which have been encountered in the data fed to the parser. The iterator yields
(event, elem)pairs, where event is a string representing the type of event (e.g."end") and elem is the encounteredElementobject.Events provided in a previous call to
read_events()will not be yielded again. Events are consumed from the internal queue only when they are retrieved from the iterator, so multiple readers iterating in parallel over iterators obtained fromread_events()will have unpredictable results.
Note
XMLPullParser only guarantees that it has seen the “>” character of a starting tag when it emits a “start” event, so the attributes are defined, but the contents of the text and tail attributes are undefined at that point. The same applies to the element children; they may or may not be present.
If you need a fully populated element, look for “end” events instead.
New in version 3.4.
Please login to continue.