在lxml中处理XML命名空间的默认值可以通过使用xpath()
方法和register_namespace()
方法来实现。
首先,使用register_namespace()
方法来为命名空间设置一个前缀,例如:
from lxml import etree
# 注册命名空间前缀
etree.register_namespace('ns', 'http://www.example.com/namespace')
然后,使用xpath()
方法来查询具有默认命名空间的元素,例如:
# 创建XML文档
xml = '''
<ns:root xmlns:ns="http://www.example.com/namespace">
<ns:child>Some content</ns:child>
</ns:root>
'''
# 解析XML文档
root = etree.fromstring(xml)
# 使用xpath()方法查询具有默认命名空间的元素
elements = root.xpath('//ns:child', namespaces={'ns': 'http://www.example.com/namespace'})
# 输出查询结果
for element in elements:
print(element.text)
通过注册命名空间前缀和使用xpath()
方法,可以方便地处理XML命名空间的默认值。