要解析XML,请将“ xml”作为第二个参数传递给BeautifulSoup构造函数。
soup = bs4.BeautifulSoup(S, 'xml')
您无需再通过selfClosingTags
:
In [1]: import bs4
In [2]: S = '''<foo> <bar a="3"/> </foo>'''
In [3]: soup = bs4.BeautifulSoup(S, 'xml')
In [4]: print soup.prettify()
<?xml version="1.0" encoding="utf-8"?>
<foo>
<bar a="3"/>
</foo>