Beautifulsoup удаляет конечный тег, который, в свою очередь, нарушает шаблоны jinja

#html #beautifulsoup #tags #jinja2 #html-parsing

Вопрос:

Я изменяю файл xhtml с помощью BeautifulSoup4.

Проблема, с которой я сейчас сталкиваюсь, заключается в том, что это меняет это:

 <Viewpoint ... ></Viewpoint>
 

к этому:

 <Viewpoint ... />
 

что, в свою очередь, не работает с шаблонами jinja, так как не удалось правильно загрузить файл шаблона (xhtml).

Есть ли в BeautifulSoup4 какая-то возможность изменить это поведение?

Ответ №1:

Я не исправил основную проблему, но использовал обходной путь. Добавление одного символа пробела внутри тегов запрещает BeautifulSoup удалять конечный тег. Символ пробела на самом деле не виден в окончательном документе. Поэтому я изменил это:

 <Viewpoint ... ></Viewpoint>
 

к этому:

 <Viewpoint ... > </Viewpoint>