cElementTree
ライブラリを使用してPythonでXMLファイルを解析しています。 すべて正常に動作していますcElementTreeを使用してPythonでXMLファイルを解析する:ファイル内のエラーと行番号を処理する
XMLの値が正しくないときにユーザーに完全なエラーメッセージを提供したいと思います。
<A name="xxxx" href="yyyy"/>
をしてhref
属性が存在しないか、与えられたリストにない値を持っていない場合、ユーザーに伝えたい:
たとえば、のは、私は、次のXMLがあるとしましょう。
瞬間のために、私は私の例外がどこかに引っ掛かって
if elem.get("ref") not in myList:
raise XMLException(elem, "the 'href' attribute is not valid or does not exist")
のようなものを持っています。
さらに、XML要素の行番号をファイルに表示したいとします。それを行うことが可能である同等のXMLライブラリがあり :
質問:-(... cElementTree
は木のXML要素の行番号に関する情報を格納していないようです? XMLファイル内のXML要素の位置へのアクセス権を持っているか、方法はありますか?
あなたが使用する必要がありますおかげ
ありがとうございました。 lxmlはうまく動作し、要素にはsourceline属性があります。 私の古いマシンでは、lxmlはcElementTreeと比べて比較的遅いです(入力ファイルによっては25%から50%遅くなります) – ThibThib
http://codespeak.net/lxml/performance.html。読み込み、解析、cElementTreeでは遅くなりますが、ツリーのトラバーサルとシリアライゼーションは速くなります。 –
sourcelineは、巨大なファイルのエラー処理に大きな追加です!ありがとう:) –