壊れたXMLを解析しようとすると、例外に行番号が表示されます。 XMLコンテキストを表示する方法はありますか?ElementTreeからより良い解析エラーメッセージを取得
壊れた部分の前後にxmlタグが表示されます。
例:
import xml.etree.ElementTree as ET
tree = ET.fromstring('<a><b></a>')
例外:
Traceback (most recent call last):
File "tmp/foo.py", line 2, in <module>
tree = ET.fromstring('<a><b></a>')
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1300, in XML
parser.feed(text)
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1642, in feed
self._raiseerror(v)
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
raise err
xml.etree.ElementTree.ParseError: mismatched tag: line 1, column 8
このような何かがいいだろう:
ParseError:
<a><b></a>
=====^
アップ票を得られます。 –
@ KobiK:私も知らなかったが、IPythonのような良いイントロスペクションツールは、 'err'のようなオブジェクトで利用できるものを発見するのに便利です。 – unutbu
ありがとうございました。いいです。 – guettli