tkrajina/gpxpy

Force stdlib etree instead of lxml?

narfel opened this issue · 1 comments

For my use case, when lxml is installed I get drastically less performance. In the init.py it says "

parser may be 'lxml', 'minidom' or None (then it will be automatically detected, lxml if possible).

How do I tell gpxpy to use that? parse(xml_or_file: Union[AnyStr, IO[str]], version: Optional[str] = None) has no option for a parser, or am I missing something?

No, you're right. When I first implemented this lxml was faster, so I made to be default. But it absolutely makes sense to use the default parser by default. Maybe something like this: b75314d

That way, you gahe a global gpxpy.set_xml_etree() function where you can set lxml if you want.