BeautifulSoup as XML 解析器生成不需要的 html/body



当使用BeautifulSoup for XML时:

import bs4
soup = bs4.BeautifulSoup('<?xml version="1.0" encoding="utf-8"?><mydocument><b></b></mydocument>', 'lxml')
# add or remove tags in soup
print(soup)

输出具有不必要的<html><body>

<?xml version="1.0" encoding="utf-8"?><html><body><mydocument><b></b></mydocument></body></html>

如何避免这些HTML特定的元素,并使用BeautifulSoup输出XML?

这不是有效的解决方案:

print(soup.find('mydocument'))

因为它删除了我想保留的<?xml version="1.0" encoding="utf-8"?>

尝试以下方法之一:

my_xml = '<?xml version="1.0" encoding="utf-8"?><mydocument><b></b></mydocument>'
soup = bs4.BeautifulSoup(my_xml, "xml")

soup = bs4.BeautifulSoup(my_xml, "lxml-xml")

在任何一种情况下,print(soup)都应输出:

<?xml version="1.0" encoding="utf-8"?>
<mydocument><b/></mydocument>

最新更新