I have an XHTML file that is structured like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
...
</head>
<body>
...
</body>
<html>
I'm using BeautifulSoup and I want to remove the XML declaration from the document, so what I have looks like this:
<!DOCTYPE html>
<html lang="en">
<head>
...
</head>
<body>
...
</body>
<html>
I can't find a way to get at the XML declaration to remove it. It doesn't appear to be a Doctype, Declaration, Tag, or NavigableString as far as I can tell. Is there a way I can find this to extract it?
As a working example, I can remove the Doctype with code like this (assuming the document text is the variable "html"):
soup = BeautifulSoup(html)
[item.extract() for item in soup.contents if isinstance(item, Doctype)]