XML parser: Element ordering?

Stefan Behnel stefan_ml at behnel.de
Fri Aug 31 08:21:54 EDT 2012


Florian Lindner, 31.08.2012 14:03:
> I plan to use the etree.ElementTree XML parser to parse a config file
> in which the order of the elements matter, e.g.:
> 
> <A>
> <C /><D />
> </A>
> 
> is not equal to:
> 
> <A>
> <D /><C />
> </A>
> 
> I have found different answers to the question if order matters in XML
> documents. So my question here: Does it matters (and is more or less
> guarenteed to matter in the future) for the ElementTree parser of
> python?

It matters for XML documents, so, yes, any XML parser will definitely
honour the document order (which is actually well defined for an XML document).

What you might be referring to is the case of a specific XML document
format, where the application (or sometimes specification) can explicitly
state that the element order in a given subtree has no meaning for the
semantics of the element and that therefore code must ignore the order in
which elements occur. But that won't magically make the parser ignore it
for you. That's a totally different level of abstraction and a deliberate
decision of the code that *uses* the parser.

Stefan





More information about the Python-list mailing list