12
Sto scrivendo uno script che modifica un file XML con BeautifulStoneSoup
, ma la libreria converte tutti i tag in lettere minuscole. C'è un'opzione per conservare il caso?Come mantenere tag con distinzione tra maiuscole e minuscole in 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>
Grazie, ha fatto l'aggiornamento e funziona benissimo. Per i futuri lettori: esegui 'pip install BeautifulSoup4' not' pip installa beautifulsoup --upgrade' – TankorSmash
Vale la pena ricordare che richiede la libreria 'xml', non' lxml', che è cosa consiglia beautifulsoup se lo esegui senza specifiche. 'lxml' non mantiene il caso. –
@KeithSmiley: Sì, quando si utilizza 'soup = BeautifulSoup (xml," lxml ")', viene utilizzato il parser HTML di lxml. Vedi http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser. – mzjn