我有一个结构如下的 XHTML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
...
</head>
<body>
...
</body>
<html>
我正在使用 BeautifulSoup,我想从文档中删除 XML 声明,所以我所拥有的看起来像这样:
<!DOCTYPE html>
<html lang="en">
<head>
...
</head>
<body>
...
</body>
<html>
我找不到获取 XML 声明以将其删除的方法。据我所知,它似乎不是 Doctype、Declaration、Tag 或 NavigableString。有没有办法找到它来提取它?
作为一个工作示例,我可以使用这样的代码删除 Doctype(假设文档文本是变量“html”):
soup = BeautifulSoup(html)
[item.extract() for item in soup.contents if isinstance(item, Doctype)]