使用lxml从python中的xml中删除名称空间和前缀

使用lxml从python中的xml中删除名称空间和前缀,第1张

使用lxml从python中的xml中删除名称空间和前缀

按照Uku
Loskit的建议替换标签。除此之外,请使用lxml.objectify.deannotate。

from lxml import etree, objectifymetadata = '/Users/user1/Desktop/Python/metadata.xml'parser = etree.XMLParser(remove_blank_text=True)tree = etree.parse(metadata, parser)root = tree.getroot()####    for elem in root.getiterator():    if not hasattr(elem.tag, 'find'): continue  # (1)    i = elem.tag.find('}')    if i >= 0:        elem.tag = elem.tag[i+1:]objectify.deannotate(root, cleanup_namespaces=True)####tree.write('/Users/user1/Desktop/Python/done.xml',pretty_print=True, xml_declaration=True, encoding='UTF-8')

更新

一些标签,例如

Comment
访问
tag
属性时返回一个函数。为此增加了一个警卫。(1)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5616493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存