所以我是使用python的新手。我正在尝试从xml文档中删除xml标记。尝试删除所有<tag2>
和</tag2>
标记,但保留“foo”和“bar”。建议?试图避免使用lxml
<entry name="xml">
<tag>
<tag2>foo</tag2>
</tag>
<tag3>
<tag2>bar</tag2>
</tag3>
<tag4>
<tag2>foo</tag2>
</tag4>
<tag5>
<tag2>bar</tag2>
</tag5>
</entry>
编辑: 这就是我需要的输出
entry name="xml">
<tag>
foo
</tag>
<tag3>
bar
</tag3>
<tag4>
foo
</tag4>
<tag5>
bar
</tag5>
</entry>
答案 0 :(得分:3)
您可以使用xml迭代元素树。这将创建一个包含文本的所有标记的列表。
import xml.etree.ElementTree as ET
tree = ET.parse('x.xml')
root = tree.getroot()
text = []
for child in tree.iter():
if '\n' not in child.text:
text.append(child.text)
David Zemens的简单声明
text = [child.text for child in tree.iter() if not child.text.strip() == '']