Kann ich BeautifulSoup das Verhalten in Bezug auf die Umwandlung von XML-Tags in Kleinbuchstaben ändern?

StackOverflow https://stackoverflow.com/questions/891690

  •  23-08-2019
  •  | 
  •  

Frage

Ich arbeite an Code, um eine Konfigurationsdatei in XML geschrieben zu analysieren, wo die XML-Tags gemischter Fall und der Fall ist signifikant. Schöne Suppe wird standardmäßig in Kleinbuchstaben XML-Tags zu konvertieren, und ich möchte dieses Verhalten ändern.

Ich bin nicht der Erste, der eine Frage zu diesem Thema stellen [siehe hier ]. Allerdings habe ich nicht die Antwort auf diese Frage verstehen gegeben und in BeautifulSoup-3.1.0.1 BeautifulSoup.py scheint keine Instanzen von „encodedName“ oder „Tag.__str__“ enthalten

War es hilfreich?

Lösung 2

Nach Leonard Richardson, Schöpfer | Maintainer Schöne Suppe, Sie können‘ t .

Andere Tipps

import html5lib
from html5lib import treebuilders

f = open("mydocument.html")
parser = html5lib.XMLParser(tree=treebuilders.getTreeBuilder("beautifulsoup"))
document = parser.parse(f)

‚Dokument‘ ist jetzt ein BeautifulSoup artige Baum, behält aber die Fälle von Tags. Siehe html5lib für Dokumentation und Installation.

Es ist viel besser zu nutzen lxml . Es ist viel, viel schneller als BeautifulSoup. Es hat eine Kompatibilität API für BeautifulSoup auch, wenn Sie nicht die lxml API lernen wollen.

Ian Blicking stimmt .

Es gibt keinen Grund BeautifulSoup mehr zu verwenden, es sei denn, Sie sind auf Google App Engine oder etwas, wo etwas nicht rein Python ist nicht erlaubt.

Es ist besser geeignet für XML als auch.

nur einen propper XML-Parser verwenden anstelle eines lib das ist gemacht mit gebrochenen Dateien umgehen

i sugest auf nur einen Blick auf xml.etree oder lxml nehmen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top