xml.etree.ElementTree.iterparse(source, events=None, parser=None)
Parses an XML section into an element tree incrementally, and reports what’s going on to the user. source is a filename or file object containing XML data. 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. parser is an optional parser instance. If not given, the standard XMLParser
parser is used. parser must be a subclass of XMLParser
and can only use the default TreeBuilder
as a target. Returns an iterator providing (event, elem)
pairs.
Note that while iterparse()
builds the tree incrementally, it issues blocking reads on source (or the file it names). As such, it’s unsuitable for applications where blocking reads can’t be made. For fully non-blocking parsing, see XMLPullParser
.
Note
iterparse()
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.
Deprecated since version 3.4: The parser argument.
Please login to continue.