Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么BeautifulSoup要修改我的自动关闭元素?_Python_Xml_Beautifulsoup - Fatal编程技术网

Python 为什么BeautifulSoup要修改我的自动关闭元素?

Python 为什么BeautifulSoup要修改我的自动关闭元素?,python,xml,beautifulsoup,Python,Xml,Beautifulsoup,这是我的脚本: import BeautifulSoup if __name__ == "__main__": data = """ <root> <obj id="3"/> <obj id="5"/> <obj id="3"/> </root> """ soup = BeautifulSoup.BeautifulStoneSoup(data)

这是我的脚本:

import BeautifulSoup

if __name__ == "__main__":
    data = """
    <root>
        <obj id="3"/>
        <obj id="5"/>
        <obj id="3"/>
    </root>
    """
    soup = BeautifulSoup.BeautifulStoneSoup(data)
    print soup
导入美化组
如果名称=“\uuuuu main\uuuuuuuu”:
data=”“”
"""
soup=BeautifulSoup.BeautifulStoneSoup(数据)
印花汤
运行时,此命令将打印:

<root>
  <obj id="3"></obj>
  <obj id="5"></obj>
  <obj id="3"></obj>
</root>

我希望它保持相同的结构。我如何才能做到这一点?

来自:

BeautifulStoneSoup
最常见的缺点是它不知道自动关闭标签。HTML有一组固定的自动关闭标记,但对于XML,这取决于DTD所说的内容。通过将某些标记的名称作为
selfClosingTags
参数传递给构造函数,可以告诉
selfClosingTags
某些标记是自动关闭的


AFAIK,从
bs4
开始,
xml
模式中的自动关闭标记是历史记录。