我正在使用 lxml 从具有名称空间的外部服务中解析 XML,但没有将它们注册到xmlns. 我正在尝试手动注册它register_namespace,但这似乎不起作用。
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
我错过了什么?奇怪的是,查看 lxml 源代码以尝试了解我可能做错了什么,似乎xsi命名空间应该已经作为默认命名空间之一存在。
PIPIONE
慕无忌1623718
相关分类