2
Beautiful Soupを使用してxmlファイルを解析していますが、空の要素を解析するときに一貫性のない動作が検出されました。私。Beautiful Soupで空要素エラーが発生しました
from BeautifulSoup import BeautifulSoup
s1 = "<c><a /><b /></c>"
s2 = "<c><a></a><b></b></c>"
soup1 = BeautifulSoup(s1)
soup2 = BeautifulSoup(s2)
print soup1
# <c><a><b></b></a></c>
print soup2
# <c><a></a><b></b></c>
b
タグは、最初のケースではなく、第二にa
タグ内であることに留意されたいです。私は、XML仕様ではs1
とs2
は同等であると考えていましたか?
どのように私はこれに対処することができますか?
「a」と「b」の選択は任意です。私は(X)HTMLではなく、XMLタグで作業しています。また、スペースを追加しても差はありません。 – BrT
BrT:BeautifulSoupは、(X)HTMLパーサーであり、XMLパーサーではありません。このため、意味を成す要素には自己閉じタグのみがサポートされています。一般的なXML解析では、__ ['xml.dom.minidom'](http://docs.python.org/library/xml.dom.minidom.html#module-xml.dom.minidom)__を使用します。私はそれが自己終了タグをサポートしているかどうかはわかりませんが、もしそうでなければ、それらの正規表現をいつでも置き換えることができます。 – orlp
ああ、申し訳ありませんが、私はBeautifulSoupについてそれを認識しませんでした - 私はミニドームを見ます。ありがとう! – BrT