为什么BeautifulSoup会修改我的自闭元素?

Geo*_*Geo 2 python xml beautifulsoup

这是我的脚本:

import BeautifulSoup

if __name__ == "__main__":
    data = """
    <root>
        <obj id="3"/>
        <obj id="5"/>
        <obj id="3"/>
    </root>
    """
    soup = BeautifulSoup.BeautifulStoneSoup(data)
    print soup
Run Code Online (Sandbox Code Playgroud)

运行时,打印:

<root>
  <obj id="3"></obj>
  <obj id="5"></obj>
  <obj id="3"></obj>
</root>
Run Code Online (Sandbox Code Playgroud)

我希望它保持相同的结构.我怎样才能做到这一点?

Ben*_*mes 7

来自Beautiful Soup文档:

最常见的缺点BeautifulStoneSoup是它不了解自动关闭标签.HTML有一组固定的自关闭标签,但是使用XML它取决于DTD所说的内容.您可以BeautifulStoneSoup通过将其名称作为selfClosingTags参数传递给构造函数来判断某些标记是否自动关闭