私は小文字にXMLタグを変換に関するBeautifulSoupの動作を変更することはできますか?
-
23-08-2019 - |
質問
私は、XMLタグがケースを混合し、ケースが重要であるされているXMLで記述された設定ファイルを、解析するコードに取り組んでいます。美しいスープは、デフォルトで小文字にXMLタグを変換するように見える、と私は、この動作を変更したいと思います。
私は[<のhref = "https://stackoverflow.com/questions/567999/preventing-beautifulsoup-from-converting-my-xml-tags-to参照このテーマに関する質問をする最初ではありませんよ-lowercase ">ここの]。しかし、私はその質問に与えられた答えを理解していなかったとBeautifulSoup-3.1.0.1にBeautifulSoup.pyは「encodedName
」または「Tag.__str__
」
解決 2
レオナルド・リチャードソン、作成者によると|美しいスープのメンテナは、」することができますトンでます。
他のヒント
import html5lib
from html5lib import treebuilders
f = open("mydocument.html")
parser = html5lib.XMLParser(tree=treebuilders.getTreeBuilder("beautifulsoup"))
document = parser.parse(f)
「文書」は、今BeautifulSoupのような木ですが、タグの例を保持します。ドキュメントとインストールのために html5lib のを参照してください。
これは lxmlのを使用することがはるかに良いです。それははるかに高速BeautifulSoupよりも、ずっとです。あなたはlxmlのAPIを学ぶしたくない場合は、あまりにもBeautifulSoupの互換性APIを持っています。
あなたはGoogle App Engineのか、何が純粋にPythonのが許可されていないではない何かにしている場合を除き、もうBeautifulSoupを使用する理由はありません。
それだけでなく、XMLのために、より適しています。
だけではなく、壊れたファイルを扱うために作られた、LIBのthatsのpropper XMLパーサーを使用する
私はちょうどxml.etreeまたはlxmlのを見てみることをsugest