私は小文字にXMLタグを変換に関するBeautifulSoupの動作を変更することはできますか?

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

  •  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を持っています。

イアンBlickingは。

あなたはGoogle App Engineのか、何が純粋にPythonのが許可されていないではない何かにしている場合を除き、もうBeautifulSoupを使用する理由はありません。

それだけでなく、XMLのために、より適しています。

だけではなく、壊れたファイルを扱うために作られた、LIBのthatsのpropper XMLパーサーを使用する

私はちょうどxml.etreeまたはlxmlのを見てみることをsugest

scroll top