Подтвердить что ты не робот

Как сохранить чувствительные к регистру теги в BeautifulSoup.BeautifulStoneSoup?

Я пишу script, который редактирует XML файл с BeautifulStoneSoup, но библиотека преобразует все теги в нижний регистр. Есть ли возможность сохранить это дело?

import BeautifulSoup    
xml = "<TestTag>a string</TestTag>"    
soup = BeautifulSoup.BeautifulStoneSoup(xml, markupMassage=False)    
print soup.prettify() # or soup.renderContents()
#prints
>>> <testtag>a string</testtag> 
#instead of the expected
>>> <TestTag>a string</TestTag>
4b9b3361

Ответ 1

Вы можете использовать Beautiful Soup 4, как следует (требуется библиотека XML lxml):

In [10]: from bs4 import BeautifulSoup

In [11]: xml = "<TestTag>a string</TestTag>"

In [12]: soup = BeautifulSoup(xml, "xml")

In [13]: print soup
<?xml version="1.0" encoding="utf-8"?>
<TestTag>a string</TestTag>

In [14]: