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