在lxml中,可以使用register_namespace
方法来实现XML文档的命名空间前缀映射。以下是一个示例代码:
from lxml import etree # 创建XML文档 root = etree.Element('root') doc = etree.ElementTree(root) # 注册命名空间前缀映射 etree.register_namespace('ns', 'http://www.example.com/ns') # 添加带命名空间的元素 child = etree.SubElement(root, '{http://www.example.com/ns}child') child.text = 'Child element' # 输出XML文档 print(etree.tostring(doc, pretty_print=True).decode('utf-8'))
在上面的示例中,通过register_namespace
方法注册了命名空间前缀ns
和命名空间URIhttp://www.example.com/ns
的映射关系,然后使用etree.SubElement
方法添加带命名空间的子元素。最后使用etree.tostring
方法输出XML文档。