擅长:python、mysql、java
<p>按照Uku Loskit的建议更换标签。除此之外,还可以使用<a href="http://lxml.de/objectify.html#xml-schema-datatype-annotation" rel="noreferrer">lxml.objectify.deannotate</a>。</p>
<pre><code>from lxml import etree, objectify
metadata = '/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')
</code></pre>
<p><strong>更新</strong></p>
<p>某些标记(如<code>Comment</code>)在访问<code>tag</code>属性时返回函数。增加了一个守卫。(一)</p>