【发布时间】:2019-06-03 12:14:36
【问题描述】:
我正在尝试从 xml 文件中删除特定标签,但前提是它为空。
文件:
<?xml version="1.0" encoding="utf-8"?>
<parent>
<child>
<value1>Foo<value1/>
<value2>Bar<value2/>
<value3>Hello World<value3/>
<value3/>
<value3/>
<value3/>
<child/>
<parent/>
预期输出:
<?xml version="1.0" encoding="utf-8"?>
<parent>
<child>
<value1>Foo<value1/>
<value2>Bar<value2/>
<value3>Hello World<value3/>
<child/>
<parent/>
我在读取文件和使用 lxml 解析它时遇到问题,因此我对任何其他 python3 方法/模块持开放态度。
理想情况下希望代码执行以下操作:
def remove_empty_tag(tag=tagname, file=data):
...
data = open("file.xml").read()
new_xml = remove_empty_tag(tag="value3", data)
print(new_xml)
但愿意寻求任何帮助,甚至是方向。
【问题讨论】:
-
Marco,这绝对是重复的......
-
我都看过了,它们都没有帮助,因为没有解释如何读取 xml 文件或为什么它在解析它或如何写入新文件时抱怨
<?xml version="1.0" encoding="utf-8"?>。他们也没有指定如何只删除一个特定的标签名称。
标签: xml python-3.x tags lxml is-empty