使用python修复格式错误的XML

use*_*880 3 python xml

我有 50 个 XML 文件的标签不匹配,我想使用 python 修复它们。开始标签<names>与结束标签不同</name>。任何人都可以请指导我。

    <breakfast_menu>
      <food>
        <names>Belgian Waffles</name>
        <price>$5.95</price>
        <calories>650</calories>
     </food>
    </breakfast_menu>
Run Code Online (Sandbox Code Playgroud)

Ter*_*ryA 6

BeautifulSoup 做这个:

>>> from bs4 import BeautifulSoup
>>> myxml = # Your posted XML
>>> soup = BeautifulSoup(myxml,'xml')
>>> print soup
<?xml version="1.0" encoding="utf-8"?>
<breakfast_menu>
<food>
<names>Belgian Waffles</names>
<price>$5.95</price>
<calories>650</calories>
</food>
</breakfast_menu>
Run Code Online (Sandbox Code Playgroud)

如果您正在寻找<name></name>

>>> for i in soup.findAll('names'):
...     i.name = 'name'
...
>>> print soup
<?xml version="1.0" encoding="utf-8"?>
<breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price>$5.95</price>
<calories>650</calories>
</food>
</breakfast_menu>
Run Code Online (Sandbox Code Playgroud)