例如我有一个XML
<parent class="alpha">
<child>
<subchild>
</subchild>
</child>
</parent>
<parent class="beta">
<child>
<subchild>
</subchild>
</child>
</parent>
<parent class="gamma">
<child>
<subchild>
</subchild>
</child>
</parent>
如果父元素中的类匹配,我想删除完整的父元素。例如说class =“ beta”。
那么我想要这样的更新XML。
<parent class="alpha">
<child>
<subchild>
</subchild>
</child>
</parent>
<parent class="gamma">
<child>
<subchild>
</subchild>
</child>
</parent>
我尝试过,但无法获得预期的结果。
with open("path/to/xml","w") as fil2:
Soup = soup.find_all("parent ",{'class':'beta'})
for i in Soup:
i.decompose()
要保存不带指定标签的新文件,可以使用以下示例:
from bs4 import BeautifulSoup
txt = '''<parent class="alpha">
<child>
<subchild>
</subchild>
</child>
</parent>
<parent class="beta">
<child>
<subchild>
</subchild>
</child>
</parent>
<parent class="gamma">
<child>
<subchild>
</subchild>
</child>
</parent>'''
soup = BeautifulSoup(txt, 'html.parser')
for p in soup.find_all("parent",{'class':'beta'}):
p.decompose()
with open('new_file.xml', 'w') as f_out:
print(soup, file=f_out)
保存new_file.xml
内容:
<parent class="alpha">
<child>
<subchild>
</subchild>
</child>
</parent>
<parent class="gamma">
<child>
<subchild>
</subchild>
</child>
</parent>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句