LXML: can't register namespace

Stefan Behnel stefan_ml at behnel.de
Fri Mar 9 04:22:23 EST 2018


Andrew Z schrieb am 07.03.2018 um 05:03:
> Hello,
> with 3.6 and latest greatest lxml:
>> from lxml import etree
>> tree = etree.parse('Sample.xml')
> etree.register_namespace('','http://www.example.com')

The default namespace prefix is spelled None (because there is no prefix
for it) and not the empty string.
> causes:
> Traceback (most recent call last):
> File "/home/az/Work/flask/tutorial_1/src/xml_oper.py", line 16, in
> <module>
> etree.register_namespace('','http://www.example.com')
> File "src/lxml/etree.pyx", line 203, in lxml.etree.register_namespace
> (src/lxml/etree.c:11705)
> File "src/lxml/apihelpers.pxi", line 1631, in lxml.etree._tagValidOrRaise
> (src/lxml/etree.c:35382)
> ValueError: Invalid tag name ''
>> partial Sample.xml:
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
>> <Applications xmlns="http://www.example.com">
> <Application>
> <Customer email="janed at acme.com" external_id="ABCDZ2002"
> md_status_nonpro="true" type="INDIVIDUAL" prefix="jadoe">
>> <cut here>
>> it seems to not be happy with the empty tag .
> But i'm not sure why and how to go about it.

Could you explain why you want to do that?
Stefan


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /