相关疑难解决方法(0)

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

我有一个xml文件,我需要打开并进行一些更改,其中一个更改是删除命名空间和前缀,然后保存到另一个文件.这是xml:

<?xml version='1.0' encoding='UTF-8'?>
<package xmlns="http://apple.com/itunes/importer">
  <provider>some data</provider>
  <language>en-GB</language>
</package>
Run Code Online (Sandbox Code Playgroud)

我可以进行其他需要的更改,但无法找到如何删除命名空间和前缀.这是我需要的reusklt xml:

<?xml version='1.0' encoding='UTF-8'?>
<package>
  <provider>some data</provider>
  <language>en-GB</language>
</package>
Run Code Online (Sandbox Code Playgroud)

这是我的脚本,它将打开并解析xml并保存它:

metadata = '/Users/user1/Desktop/Python/metadata.xml'
from lxml import etree
parser = etree.XMLParser(remove_blank_text=True)
open(metadata)
tree = etree.parse(metadata, parser)
root = tree.getroot()
tree.write('/Users/user1/Desktop/Python/done.xml', pretty_print = True, xml_declaration = True, encoding = 'UTF-8')
Run Code Online (Sandbox Code Playgroud)

那么如何在我的脚本中添加代码来删除命名空间和前缀呢?

python xml lxml namespaces

15
推荐指数
4
解决办法
3万
查看次数

标签 统计

lxml ×1

namespaces ×1

python ×1

xml ×1