12
Piszę skrypt, który edytuje plik XML z BeautifulStoneSoup
, ale biblioteka konwertuje wszystkie znaczniki na małe litery. Czy istnieje opcja na zachowanie sprawy?Jak zachować znaczniki wielkości liter w BeautifulSoup.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>
Dzięki wykonany upgrade i działa świetnie. Dla przyszłych czytelników: uruchom 'pip install BeautifulSoup4' nie' pip install beautifulsoup --upgrade' – TankorSmash
Warto wspomnieć, że wymaga biblioteki 'xml', a nie' lxml', co jest polecane przez beautifulsoup, jeśli uruchomisz ją bez specyfikacji. 'lxml' nie obsługuje wielkości liter. –
@KeithSmiley: Tak, używając 'soup = BeautifulSoup (xml," lxml ")', używany jest parser HTML lxml. Zobacz http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser. – mzjn