Registering namespaces with lxml before parsing
问题 I am using lxml to parse XML from an external service that has namespaces, but doesn't register them with xmlns . I am trying to register it by hand with register_namespace , but that doesn't seem to work. from lxml import etree xml = """ <Foo xsi:type="xsd:string">bar</Foo> """ etree.register_namespace('xsi', 'http://www.w3.org/2001/XMLSchema-instance') el = etree.fromstring(xml) # lxml.etree.XMLSyntaxError: Namespace prefix xsi for type on Foo is not defined What am I missing? Oddly enough,